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

1 ответ

Решение

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

Другие вопросы по тегам