我正在尝试编写一个旨在将 .bmp 文件转换为二进制文件的 C# 程序。该文件为 16x16 像素。每个黑色像素代表一个二进制,因此数字 10 将是 █[]█[][][][][]
我遇到的问题是我的代码无法识别黑色像素,因此输出始终为零。
public Bitmap imgToDecode;
private void button2_Click(object sender, EventArgs e)
{
int i = (imgToDecode.Height * imgToDecode.Width);
bool[] pixData = new bool[i];
int p = 0;
for (int k = 1; k < imgToDecode.Height; k++)
{
for (int m = 1; m < imgToDecode.Width; m++)
{
if (imgToDecode.GetPixel(m, k) == Color.Black)
{
pixData[p] = true;
}
else
{
pixData[p] = false;
}
p++;
}
}
for (int n = 0; n < pixData.Length; n++)
{
textBox2.Text = (textBox2.Text + (Convert.ToInt32(pixData[n])));
}
}
如果有人知道为什么输出为 0,请他们帮助我。也欢迎任何改进代码的方法。