Совместимы ли Bitmap.LockBits и Graphics.FromImage в C #

Можете ли вы объединить методы 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 после того, как я закрасил красный прямоугольник?


person Willem Van Onsem    schedule 16.02.2010    source источник


Ответы (1)


Yes должен иметь возможность комбинировать операции, если операции не используют один и тот же тип блокировки, что означает, что вы должны передать совместимый ImageLockMode вашего метода LockBits.

person Pop Catalin    schedule 16.02.2010