ピクセルデータの読み取りと書き込みをすばやく行うために、を使用して取得したBitmapDataオブジェクトを使用しています。Bitmap.LockBits機能はクラスにカプセル化されています。Scan0オブジェクトのとへStrideの参照を保存できBitmapDataますか、それともピクセルにアクセスする必要があるたびにそれを読み取る必要がありますか?私の使用法に基づいて、同じクラスオブジェクトを何時間もアクティブにすることができますが、この期間中にScan0/はStride変更されますか?または、プロパティへのアクセスを減らすために、それらへの参照をクラスに格納できますか?
毎回アクセスする(少し遅い)
public BitmapData Data;
byte* pixByte = (byte*)BmpData.Scan0 + (Y * BmpData.Stride) + (X * 3); // access pixel of 24bpp image
参照の保存(これは可能ですか?)
public BitmapData Data;
public IntPtr Scan0;
public int Stride;
byte* pixByte = (byte*)Scan0 + (Y * Stride) + (X * 3); // access pixel of 24bpp image