c#锁定的图像应该总是被解锁吗?
本文关键字:解锁 锁定 图像 | 更新日期: 2023-09-27 18:16:09
我有一个函数,它有一个图像作为输入。
由于我的计算依赖于几个像素,我不能直接在这个锁定的输入图像上工作,所以我使用另一个结果图像,我也锁定了更快的位图访问。
在函数结束时,我解锁了这两个图像。
//...
//..
LockedInput.UnlockBits();
LockedResult.UnlockBits(); // its the image "Result" locked.
return Result;
}
我想知道,因为输入图像不是由这个函数返回;我还应该打开它吗?我不确定它是否已经被c#垃圾回收释放了。如果我标记了LockedInput.UnlockBits(),程序不会挂起,但是我不确定这样做是否可以。
"Locking bits"意味着对象不能为批量访问安排位/像素,但必须为单个像素访问保持优化。既然你不再关心像素,你也不关心它们的表示。当。net可以简单地丢弃所有像素时,它不会安排这些像素。所以解锁是不必要的