C# bitmap转 byte数组
时间: 2023-06-28 16:13:29 浏览: 149
将Bitmap转换为Byte[]
4星 · 用户满意度95%
可以使用 Bitmap 类的 LockBits 方法将 Bitmap 对象转换为 byte 数组。
下面是一个示例代码:
```csharp
Bitmap bmp = new Bitmap("test.bmp");
Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
BitmapData bmpData = bmp.LockBits(rect, ImageLockMode.ReadOnly, bmp.PixelFormat);
IntPtr ptr = bmpData.Scan0;
int bytes = Math.Abs(bmpData.Stride) * bmp.Height;
byte[] rgbValues = new byte[bytes];
Marshal.Copy(ptr, rgbValues, 0, bytes);
bmp.UnlockBits(bmpData);
```
在上面的代码中,首先创建一个 Bitmap 对象。然后使用 LockBits 方法获取 BitmapData 对象,该对象包含有关图像位图数据的信息。接下来,我们使用 Marshal.Copy 方法将位图数据从内存中的指针复制到 byte 数组中。最后,使用 UnlockBits 方法释放 BitmapData 对象。
请注意,这只是一个示例代码,具体实现可能需要根据自己的需求进行修改。
阅读全文