调用Bitmap.SetPixel时获取ArgumentOutOfRangeException

时间:2014-04-24 16:44:31

标签: c# bitmap console-application

在某种程度上,一个不那么简单的错误已经潜入这段代码而我不知道修复它:

static void Main(string[] args)
{
    Bitmap bm = new Bitmap(1, 1);
    bm.SetPixel(1, 1, Color.AliceBlue);
    bm.Save("C:\\Users\\Lasse\\Pictures\\Midlertidigt\\hej.jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);//
    Console.ReadLine();
}

例外:

  

System.Drawing.dll中发生未处理的“System.ArgumentOutOfRangeException”类型异常

     

附加信息:参数必须为正且<宽度。

1 个答案:

答案 0 :(得分:5)

您已经创建了一个高度和宽度为1的图像。坐标从0开始,因此有效的前两个参数两个SetPixel为0:

bm.SetPixel(0, 0, Color.AliceBlue);

唯一令人困惑的是,曾经如何运作,正如你的描述所暗示的那样。