我在C#工作,我对Bitmap.LockBits方法有疑问。 让我们说我有一个名为myBitmap的Bitmap并在这个位图上使用LockBits:
BitmapData bmpData = myBitmap.LockBits(new Rectangle(0, 0, myBitmap.Width, myBitmap.Height), ImageLockMode.ReadOnly, PixelFormat.Format8bppIndexed);
在我的有限理解中,bmpData.Scan0是指向图像数据的指针,但这是"实际图像数据"或某种副本(仅使用指定矩形中的数据)?我问的原因是我无法弄清楚ImageLockMode枚举的目的。在我看来,如果我有Scan0指针,我可以摆弄并对图像数据进行各种读/写操作(例如使用Marshal.Copy),而不管选择的ImageLockMode。
感谢您的时间! 亲切的问候/亨里克