【发布时间】:2012-08-21 18:46:57
【问题描述】:
我正在尝试使用 BitmapData 类?并且在将 IntPtr 值分配给 BitmapData.Scan0 属性时遇到一些问题。这是我的代码:
var data = bmp.LockBits(new rectangle(Point.Empty, bmp.Size), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
data.Scan0 = rh.data.Scan0HGlobal;
bmp.UnlockBits(data);
但是,解锁图像后,它并没有改变。为什么?在调试模式下,我看到 data.Scan0 更改为 rh.data.Scan0HGlobal 值。在 rh.data.Scan0HGlobal 我有指向包含像素原始数据的内存的指针。
【问题讨论】:
-
那么,谢谢大家?但我自己解决了我的问题。我只是使用 ntdll 中的 memcpy 函数
-
如果您的问题已经解决,您应该将其中一个答案(对您最有帮助)标记为您的问题的解决方案。如果没有一个答案是有帮助的,那么请写下你自己的答案并接受它。否则,有人可能会找到您的问题并与之相关,但无法找到解决方案。请记住,这是问答网站,所以没有 A 的 Q 真的没有任何意义。
标签: .net bitmapdata intptr