2

当我运行此代码时,在我评论的那一行中,我总是收到“GDI+ 中发生一般错误”。运行时错误

    private void ConstructFromResourceSaveAsGif()
    {
        Bitmap bmp1 = new Bitmap(typeof(Button), "Button.bmp");

        //This line
        bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);
    }
4

2 回答 2

2

你可以只使用代码

private void ConstructFromResourceSaveAsGif()
{
    Bitmap bmp1 = new Bitmap("Button.bmp");

    bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);
}

它仍然可以工作,除非你试图完成@DanF 所说的。

编辑

这是我用来测试它的一个快速应用程序:

class Program
{
    static void Main(string[] args)
    {
        Bitmap bmp1 = new Bitmap("C:/donut.jpg");

        bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);

        Console.WriteLine("Save Success");
        Console.Read();
    }
}
于 2012-07-29T01:47:31.947 回答
2

此构造函数将给定类型的命名空间与资源的字符串名称相结合,并在程序集清单中查找匹配项。例如,您可以将 Button 类型和 Button.bmp 传递给此构造函数,它将查找名为 System.Windows.Forms.Button.bmp 的资源。

你有一个名为那个的资源吗?如果没有,那将是你的问题。“发生了一般性错误……”是 GDI+ 不太友好的举手方式并说“它坏了,但我不会告诉你为什么”

于 2012-07-29T02:14:58.373 回答