以下代碼會導致訪問衝突異常 - 爲什麼會這樣?我可以從unsafe
區塊內呼叫AForge濾波器嗎?爲什麼調用AForge庫函數在C#中導致AccessViolationException?
unsafe
{
BitmapData bmd = ThresholdedImage.LockBits(boundingR, ImageLockMode.ReadWrite, ThresholdedImage.PixelFormat);
BitmapData bmda = intersectResult.LockBits(
new Rectangle(0, 0, intersectResult.Width, intersectResult.Height),
ImageLockMode.ReadWrite,
intersectResult.PixelFormat);
intersectResult = intersectFilter.Apply(bmd); //causes exception here
ImageStatistics st = new ImageStatistics(intersectResult);
area = st.PixelsCountWithoutBlack;
intersectResult.UnlockBits(bmda);
ThresholdedImage.UnlockBits(bmd);
}
不會引起異常或訪問衝突?它不可能都是 – sehe
@sehe:它說「AccessViolationException未處理」,所以它必須是可能的。 – Lukas
Thx。那將意味着:你會得到例外。在處理非託管代碼時,訪問衝突是完全可能的,並且看起來像** [this](http://img262.imageshack.us/img262/7761/mediamonkeyerror.png)** – sehe