创建位图(来自一组灰度值)并将其保存到磁盘 - GDI +一般错误

时间:2011-11-02 03:16:51

标签: c# image-processing bitmap gdi+

你好,我有一个带有一堆灰度值的数组

var test="...0,222,254,254,254,254,241,198,198,198,198,198,198,198,198,170,52...".Split(',');

我想用这些值创建一个位图

int c = 1;
var bmp = new Bitmap(28, 28);          
for (int i = 0; i < 28; i++)
for (int j = 0; j < 28; j++)
{
  bmp.SetPixel(i, j, Color.FromArgb(Convert.ToInt32(test[c]), Convert.ToInt32(test[c]), Convert.ToInt32(test[c])));
  c++;
}

但是当我尝试将其保存到磁盘时:

bmp.Save(@"E:\r\0.jpg",ImageFormat.Jpeg);

我得到通用GDI +错误

我试过

检查文件权限

更改ImageFormat

克隆位图

2 个答案:

答案 0 :(得分:2)

很抱歉,我只是试过这个,效果很好。

        Bitmap bmp = new Bitmap(28, 28);

        int c = 0;
        for (int i = 0; i < 28; i++)
        {
            for (int j = 0; j < 28; j++)
            {
                bmp.SetPixel(i, j, Color.FromArgb(i, i, i));
            }
        }

        bmp.Save("test.jpg", ImageFormat.Jpeg);

你确定问题出在保存吗?

答案 1 :(得分:0)

好吧,我是个笨蛋,问题是我将文件保存到一个不存在的文件夹中,我以为它会被创建。