C# 位图.LockBits和Graphics.FromImage是否可以在C中组合#

C# 位图.LockBits和Graphics.FromImage是否可以在C中组合#,c#,graphics,bitmap,bitmapdata,lockbits,C#,Graphics,Bitmap,Bitmapdata,Lockbits,您能否将Bitmap.LockBits和Graphics.FromImage的方法结合起来,或者换句话说,如果我有一个位图“bmp”,并且我想用图形对象g编辑位图,那么BitmapData.Scan0的字节数组中的更改是否可见: Bitmap bmp = new Bitmap(200,200); Graphics g = Graphics.FromImage(bmp); bmp.LockBits(new Rectangle(0,0,200,200), ImageLockMode.Read

您能否将Bitmap.LockBits和Graphics.FromImage的方法结合起来,或者换句话说,如果我有一个位图“bmp”,并且我想用图形对象g编辑位图,那么BitmapData.Scan0的字节数组中的更改是否可见:

Bitmap bmp = new Bitmap(200,200);
Graphics g = Graphics.FromImage(bmp);
bmp.LockBits(new Rectangle(0,0,200,200),
    ImageLockMode.ReadOnly,PixelFormat.Format32bppArgb);
byte* pixelData = (byte*) (void*) bmd.Scan0;
g.FillRectangle(Brushes.Red,new Rectangle(0,0,50,50));

填充红色矩形后,我能看到PixelData中的变化吗?

如果操作不使用相同类型的锁定,Yes应该能够组合操作,这意味着您应该向LockBits方法传递兼容的参数