如何将 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

这可能做到吗?

如何将 3x3 像素.bmp转换为 3x3 字节数组

首先获取字节:

图像转换器

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);
}