我正在使用一个BitmapData
对象来Bitmap.LockBits
快速读取和写入像素数据。该功能被封装在一个类中。我可以将引用存储到对象的andScan0
还是应该在每次需要访问像素时读取它?根据我的使用情况,同一个类对象可以活动几个小时,在这段时间内/会改变吗?或者我可以在类中存储对它们的引用以减少属性访问?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