这是我的代码,它很简单,应该可以工作,但是并没有让它变得疯狂。我对其中的每一部分进行了故障排除,一切都按预期工作,但是当我打开我的文件时,无论构成我的位图是什么,它只是满满的。
以下是代码:
public void saveToolStripButton_Click(object sender, EventArgs e)
{
int[,] map = new int[xs,ys];
int yt, xt;
yt = 0;
Color pixcolor;
while ( yt < ys)
{
xt = 0;
while (xt < xs)
{
pixcolor = drawg.myBitmap.GetPixel(xt, yt);
if (pixcolor == Color.Green)
{
map[xt, yt] = 0;
}
if (pixcolor == Color.Black)
{
map[xt, yt] = 1;
}
if (pixcolor == Color.White)
{
map[xt, yt] = 2;
}
if (pixcolor == Color.Red)
{
map[xt, yt] = 3;
}
if (pixcolor == Color.DarkGreen)
{
map[xt, yt] = 4;
}
if (pixcolor == Color.Gray)
{
map[xt, yt] = 5;
}
if (pixcolor == Color.IndianRed)
{
map[xt, yt] = 6;
}
if (pixcolor == Color.Gold)
{
map[xt, yt] = 7;
}
xt++;
}
yt++;
}
System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\test.txt");
for (int yl = 0; yl < ys; yl++)
{
for (int xl = 0; xl < xs; xl++)
{
file.Write(map[xl,yl].ToString());
}
file.Write(Environment.NewLine);
}
file.Close();
}
xs和ys只是位图的维度。位图的格式是Format24bppRgb。我不知道为什么它不会工作,可能是我忽略的愚蠢。
非常感谢。
答案 0 :(得分:1)
&#34;此方法比Color结构的ARGB值更多。它还对一些状态标志进行了比较。如果只想比较两种颜色结构的ARGB值,请使用ToArgb方法进行比较。&#34;