如何获取像素C#的二进制字符串

时间:2018-02-26 19:11:35

标签: c# image

我正在开发一个简单的项目,涉及从位图更改多个像素的二进制数据。我只是想知道如何将一个特定像素的二进制数据打印到控制台。我在这里写了一些基本代码,让我们说myBitmap已经是一个图像了:

Bitmap myBitmap = new Bitmap(pictureBox1.Image);


Color pixel = myBitmap.GetPixel(1, 1);

如何打印全像素二进制数据或仅说明RGB的8位,这是可能的

我认为有像素。可以实现这个的方法吗?

1 个答案:

答案 0 :(得分:0)

这是一个函数,它将为您提供包含R,G和B的二进制格式的3个元素的数组:

public static string[] ColorToBinary(Color color)
{
    string[] binary = new string[3];

    binary[0] = ByteToBinary(color.R);
    binary[1] = ByteToBinary(color.G);
    binary[2] = ByteToBinary(color.B);

    return binary;
}


private static string ByteToBinary(byte b)
{
    return Convert.ToString(b, 2).PadLeft(8, '0');
}

使用它:

Bitmap myBitmap = new Bitmap(pictureBox1.Image);
Color pixel = myBitmap.GetPixel(1, 1);
string[] binary = ColorToBinary(pixel);
// binary[0] = binary form of pixel.R
// binary[1] = binary form of pixel.G
// binary[2] = binary form of pixel.B