【问题标题】:A Generic error occured in GDI+ in Image.Save() methodImage.Save() 方法中的 GDI+ 发生一般错误
【发布时间】:2014-07-24 01:33:58
【问题描述】:

我正在尝试使用 this 类,但在 Image.Save() 方法中的 GDI+ 中出现一般错误。根据我的阅读,我需要关闭一些流,但我不知道是哪一个。

I'm calling using this:

 Image image = Image.FromFile(@"C:\a.jpg");
            using (var resized = ImageUtilities.ResizeImage(image, 50, 100))
            {
                //save the resized image as a jpeg with a quality of 90
                ImageUtilities.SaveJpeg(@"C:\myimage.jpeg", resized, 90);
            }

为什么会出现这个错误,我该如何解决?

【问题讨论】:

    标签: c# image jpeg


    【解决方案1】:

    除非您的程序以管理员身份运行,否则您不能直接保存到C: 的根目录,而是创建一个文件夹并将其保存在其中。

    【讨论】:

    【解决方案2】:

    您是否测试过将图像保存在不同的位置?

    如果它仍然失败,那么在不确切知道代码中发生了什么的情况下,我会冒险猜测原始图像在它应该被处理的地方被丢弃了。这通常是导致错误的最常见原因。

    我编写了一个库来处理许多不同的成像操作,同时确保正确处理内存。它经过了很好的测试并且使用起来非常简单。

    你可以在这里得到它。 http://imageprocessor.org/

    使用库的示例代码:

    using (ImageFactory imageFactory = new ImageFactory())
    {
        // Load, resize, set the quality and save an image.
        imageFactory.Load(@"C:\a.jpg")
                    .Resize(new Size(50, 100))
                    .Quality(90)
                    .Save(@"C:\myimage.jpeg);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-07
      相关资源
      最近更新 更多