如何将 3x3 像素.bmp转换为 3x3 字节数组
本文关键字:3x3 字节 字节数 数组 转换 bmp 像素 | 更新日期: 2023-09-27 18:31:42
我遇到了一个两难境地,我需要将位图转换为字节数组,但我需要某种方式来做到这一点,为了演示这些位图是单色的,这就是我需要做的:
假设 # 是 RGB 值 255、255、255 的键,@ 是 RGB 值 0、0、0。
@@@
@##
@#@
我需要将其转换为以下内容:
0, 0, 0
0、255、255
0, 255, 0
这可能做到吗?
首先获取字节:
图像转换器
public static byte[] ImageToByte(Image img)
{
ImageConverter converter = new ImageConverter();
return (byte[])converter.ConvertTo(img, typeof(byte[]));
}
或内存流
public static byte[] ImageToByte2(Image img)
{
byte[] byteArray = new byte[0];
using (MemoryStream stream = new MemoryStream())
{
img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
stream.Close();
byteArray = stream.ToArray();
}
return byteArray;
}
然后将其转换为所需的多维数组。
byte[][] multi = new byte[height][];
for (int y = 0; y < height; ++y)
{
multi[y] = new byte[width];
// Do optional translation of the byte into your own format here
// For purpose of illustration, here is a straight copy
Array.Copy(bitmapBytes, width * y, multi[y], 0, width);
}