如何获取位图图像中的每像素位数?例如,像素x=24
& y=45
有RGB 123
,212
,112
,因此必须返回1111011
,11010100
,1110000
。
答案 0 :(得分:1)
将文件加载到Bitmap,获取Pixel,然后从中读取Color信息,这将为R,G和B中的每一个提供字节。 / p>
Bitmap bmp = new Bitmap ("C:\image.bmp");
Color color = bmp.GetPixel(24, 45);
Debug.WriteLine (string.Format ("R={0}, G={1}, B={2}", color.R, color.G, color.B));
请参阅Aliostad关于如何将其转换为二进制字符串的答案。我认为问题并不完全清楚你需要什么。
答案 1 :(得分:1)
答案 2 :(得分:0)
您的问题并非特定于像素,基本上需要获取字节的位:
您可以使用静态扩展程序:
public static string ToBitString(this byte b)
{
StringBuilder sb = new StringBuilder(8);
for (int i = 7; i >= 0; i--)
{
sb.Append((b & (1 << i)) > 0 ? '1' : '0');
}
return sb.ToString();
}
并使用:
byte bt = 120;
Console.WriteLine(bt.ToBitString());
// outputs 01111000
在你的情况下:
Color c = ...;
string s = ((byte) c.B).ToBitString();