尝试将位图转换为自制文本格式

时间:2014-09-19 15:02:12

标签: c# arrays bitmap getpixel

这是我的代码,它很简单,应该可以工作,但是并没有让它变得疯狂。我对其中的每一部分进行了故障排除,一切都按预期工作,但是当我打开我的文件时,无论构成我的位图是什么,它只是满满的。

以下是代码:

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。我不知道为什么它不会工作,可能是我忽略的愚蠢。

非常感谢。

1 个答案:

答案 0 :(得分:1)

&#34;此方法比Color结构的ARGB值更多。它还对一些状态标志进行了比较。如果只想比较两种颜色结构的ARGB值,请使用ToArgb方法进行比较。&#34;

http://social.msdn.microsoft.com/Forums/en-US/6c8a5907-edd3-43b9-b7e7-7d8aac6ad7fa/weird-issue-regarding-getpixel?forum=csharpgeneral&prof=required