c#怎样 获得一张图片的句柄

 我来答
匿名用户
2013-04-09
展开全部
你要扫描图片,锁定就可以了啊,把图像数据复制到一个数组里,然后对数组操作完成后把完成后的数组复制回图像就可以了。其实你想操作的就是打开一个设备无关位图,然后对取得设备相关位图中图像的数据。对其扫描。只要得到数组操作就很简单了
// Create a new bitmap.
Bitmap bmp = new Bitmap("c:\\fakePhoto.jpg");

// Lock the bitmap's bits.
Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
System.Drawing.Imaging.BitmapData bmpData =
bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite,
bmp.PixelFormat);

// Get the address of the first line.
IntPtr ptr = bmpData.Scan0;

// Declare an array to hold the bytes of the bitmap.
// This code is specific to a bitmap with 24 bits per pixels.
int bytes = bmp.Width * bmp.Height * 3;
byte[] rgbValues = new byte[bytes];

// Copy the RGB values into the array.
System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, bytes);

// Set every red value to 255.
for (int counter = 0; counter < rgbValues.Length; counter+=3)
rgbValues[counter] = 255;

// Copy the RGB values back to the bitmap
System.Runtime.InteropServices.Marshal.Copy(rgbValues, 0, ptr, bytes);

// Unlock the bits.
bmp.UnlockBits(bmpData);

// Draw the modified image.
e.Graphics.DrawImage(bmp, 0, 150); 答案补充 唉~~~~,现在回答完问题都没人搭理,要不就被关闭,真没劲啊。
如果这样大家就不要在这里交流了。
匿名用户
2013-04-09
展开全部
Image.FromFile(@"玫瑰.jpg") 答案补充 你是说打开的图片窗口的句柄? 答案补充 PictureBox1.Image = Image.FromFile(@"玫瑰.jpg")
这样图片不是就换了 答案补充 为什么我查了Bitmap,没有GetHdc方法 答案补充 gc.GetHdc();
获取的是与此 Graphics 关联的设备上下文的句柄。
不叫图片的句柄 答案补充 一个图片有句柄?
你要实现隔行扫描,就是要得到Graphics关联设备的句柄吧?
pictureBox1.Handle
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式