c# - Bitmap.LockBits 和 Graphics.FromImage 在 C# 中是否可以组合

标签 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.ReadOnly,PixelFormat.Format32bppArgb);
byte* pixelData = (byte*) (void*) bmd.Scan0;
g.FillRectangle(Brushes.Red,new Rectangle(0,0,50,50));

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

最佳答案

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

关于c# - Bitmap.LockBits 和 Graphics.FromImage 在 C# 中是否可以组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2273910/

相关文章:

c# - 从 MVVM/WPF 中的 BackgroundWorker 更新位图

c# - 如何确定事件是由用户操作还是代码触发的?

c# - 如何在 .NET 中使用 Ruby 代码?

c# - Regex.Replace 在勉强匹配时有奇怪的行为

graphics - 如何为小部件边框/阴影添加 NEON 效果?

c# - 使用 FormatConvertedBitmap 将位图转换为 Gray8 仅使用 4 位?

c# - Entity Framework 以及 Top 和 OrderBy 的糟糕 OData 性能

四叉树中的 Javafx 矩形不会消失/创建 - 使用鼠标事件

java - 将图形添加到 JPanel 然后再添加到 JFrame 时不显示

android - 将 EXIF 元数据写入 Android 中的图像