ピクセルデータの読み取りと書き込みをすばやく行うために、を使用して取得した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