我正在开发一个简单的项目,涉及从位图更改多个像素的二进制数据。我只是想知道如何将一个特定像素的二进制数据打印到控制台。我在这里写了一些基本代码,让我们说myBitmap已经是一个图像了:
Bitmap myBitmap = new Bitmap(pictureBox1.Image);
Color pixel = myBitmap.GetPixel(1, 1);
如何打印全像素二进制数据或仅说明RGB的8位,这是可能的
我认为有像素。可以实现这个的方法吗?
答案 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