Можно ли комбинировать 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.