0

我正在使用 C# 中的位图,并使用不安全的 BitmapData 类直接访问像素数据。

不规律地,没有明显的原因,我得到了这个错误(很少,可能每隔一小时左右)

尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

当我尝试使用不安全的代码获取/设置像素时会发生这种情况。有没有办法解决这个问题?我在 Lists 中保留了 Bitmap 和 BitmapData 的对象引用,所以我认为它没有被 GC 破坏,但是 GC 可能已经移动了它。这可能吗?

请注意,这不会发生在任何可预测的时间(例如在启动、初始化或运行图像代码时)。会发生什么?我以为锁定的位图被锁定了,内存不会突然变得不可访问,但事实并非如此。有任何想法吗?

4

0 回答 0