跪求ReleaseHdc使用方法

yinkao520 2010-09-26 11:27:03
Rectangle rect1 = new Rectangle(0, 0, srcBitmap1.Width, srcBitmap1.Height);
Rectangle rect2 = new Rectangle(0, 0, srcBitmap2.Width, srcBitmap2.Height);
BitmapData bmpIn1 = srcBitmap1.LockBits(rect1, ImageLockMode.ReadWrite, srcBitmap1.PixelFormat);
IntPtr ptr1 = bmpIn1.Scan0;
int bytes1 = srcBitmap1.Width * srcBitmap1.Height;
byte[] grayValues1 = new byte[bytes1];
System.Runtime.InteropServices.Marshal.Copy(ptr1, grayValues1, 0, bytes1);


BitmapData bmpIn2 = srcBitmap2.LockBits(rect2, ImageLockMode.ReadWrite, srcBitmap2.PixelFormat);
IntPtr ptr2 = bmpIn2.Scan0;
int bytes2 = srcBitmap2.Width * srcBitmap2.Height;
byte[] grayValues2 = new byte[bytes2];
System.Runtime.InteropServices.Marshal.Copy(ptr2, grayValues2, 0, bytes2);


BitmapData bmpIn2 = srcBitmap2.LockBits(rect2, ImageLockMode.ReadWrite, srcBitmap2.PixelFormat);
这里提示
如果在使用 GetHdc 方法后使用 Graphics 对象,请调用 ReleaseHdc 方法。
这将释放上一次调用 Graphics 对象的 GetHdc 方法时所获得的上下文句柄。


请问我哪里使用了GETHDC??
并且该如何调用RELEASEHDC呢????谢谢高手解答!!!
...全文
443 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_0123c 2012-07-08
  • 打赏
  • 举报
回复
我也遇到一样的问题,一直没有解决!球高手解决啊!
yinkao520 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kimalixrobin 的回复:]
Bitmap.UnlockBits(bmpIn1)
后再调用
BitmapData bmpIn2 = srcBitmap2.LockBits(rect2, ImageLockMode.ReadWrite, srcBitmap2.PixelFormat);
[/Quote]

貌似还是不行哦
KGallery 2010-09-26
  • 打赏
  • 举报
回复
Bitmap.UnlockBits(bmpIn1)
后再调用
BitmapData bmpIn2 = srcBitmap2.LockBits(rect2, ImageLockMode.ReadWrite, srcBitmap2.PixelFormat);
yinkao520 2010-09-26
  • 打赏
  • 举报
回复
DINGYIXIA
yinkao520 2010-09-26
  • 打赏
  • 举报
回复
求高手啊!!!
yinkao520 2010-09-26
  • 打赏
  • 举报
回复
顶一下来人看看吧 谢啦!
yinkao520 2010-09-26
  • 打赏
  • 举报
回复
来人帮忙啊~~~~~~~

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧