使用C#标准将16位(RGB565) BMP加载到字节数组中的步骤如下:
using System.Drawing;
using System.Drawing.Imaging;
public byte[] LoadBmpToByteArray(string filePath)
{
// 加载BMP图像
Bitmap bmp = new Bitmap(filePath);
// 创建一个字节数组来存储图像数据
byte[] byteArray = new byte[bmp.Width * bmp.Height * 2]; // 16位图像,每个像素占2个字节
// 遍历图像的每个像素
int index = 0;
for (int y = 0; y < bmp.Height; y++)
{
for (int x = 0; x < bmp.Width; x++)
{
// 获取像素的RGB值
Color pixelColor = bmp.GetPixel(x, y);
// 将RGB565格式的像素值转换为字节数组
ushort pixelValue = (ushort)(((pixelColor.R >> 3) << 11) | ((pixelColor.G >> 2) << 5) | (pixelColor.B >> 3));
byteArray[index++] = (byte)(pixelValue & 0xFF);
byteArray[index++] = (byte)(pixelValue >> 8);
}
}
// 返回字节数组
return byteArray;
}
string bmpFilePath = "path/to/your/bmp.bmp";
byte[] byteArray = LoadBmpToByteArray(bmpFilePath);
通过以上步骤,你可以使用C#标准将16位(RGB565) BMP加载到字节数组中。请注意,这只是一个基本的示例,你可能需要根据实际需求进行适当的修改和错误处理。
领取专属 10元无门槛券
手把手带您无忧上云