次のコードはアクセス違反の例外を引き起こします - それはなぜですか? 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