Image.Save()方法中的GDI +中发生了一般错误

我正在尝试使用这个类但是我在Image.Save()方法中遇到了GDI +中的Generic错误。 从我读到的它是我需要关闭的一些流但我不知道哪一个。

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:的根目录C:创建一个文件夹并将其保存在其中。

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

如果它仍然失败,那么在不知道你的代码到底发生了什么的情况下,我会冒险猜测原始图像会在它应该出现之前的某个地方被处理掉。 这通常是导致错误的最常见原因。

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

你可以在这里得到它。 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); }