c#bitmap转byte[]
时间: 2024-09-20 16:06:13 浏览: 48
将Bitmap转换为Byte[]
4星 · 用户满意度95%
在C#中,将Bitmap对象转换成Byte数组通常是为了存储或传输图像数据。你可以通过以下步骤完成这个过程:
1. 首先,创建一个Bitmap实例并加载图片:
```csharp
Bitmap bitmap = new Bitmap("path_to_your_image.jpg");
```
2. 然后,获取Bitmap的宽度、高度以及每个像素所占字节数(通常为32位色彩,即4字节/像素):
```csharp
int width = bitmap.Width;
int height = bitmap.Height;
int bytesPerPixel = 4; // 或者针对其他颜色深度(如8位灰度:1)
int byteCount = width * height * bytesPerPixel;
```
3. 创建一个足够大的Byte数组来存放所有的像素数据:
```csharp
byte[] pixelData = new byte[byteCount];
```
4. 将Bitmap的数据复制到Byte数组:
```csharp
using (MemoryStream ms = new MemoryStream(pixelData))
{
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
ms.Seek(0, SeekOrigin.Begin); // Reset the stream position to beginning for reading
ms.Read(pixelData, 0, pixelData.Length);
}
```
5. 现在`pixelData`数组包含了原始Bitmap的所有像素数据。
阅读全文