Общая ошибка произошла в GDI + в методе Image.Save ()

c# image jpeg

218 просмотра

2 ответа

7679 Репутация автора

Я пытаюсь использовать этот класс, но у меня возникает общая ошибка в GDI + в методе Image.Save (). Из того, что я прочитал, это поток, который мне нужно закрыть, но я не знаю, какой именно.

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);
            }

Почему эта ошибка и как мне ее решить?

Автор: Jack Источник Размещён: 24.07.2014 01:33

Ответы (2)


2 плюса

102897 Репутация автора

Решение

Если ваша программа не работает от имени администратора, вы не можете сохранить ее непосредственно в корне C:папки make и сохранить ее там внутри.

Автор: Scott Chamberlain Размещён: 24.07.2014 01:35

1 плюс

5638 Репутация автора

Вы тестировали сохранение изображений в разных местах?

Если он по-прежнему не работает, то, не зная точно, что происходит в вашем коде, я рискнул бы догадаться, что исходное изображение располагается где-то раньше, чем должно быть. Это обычно самая распространенная причина ошибки.

Я написал библиотеку, которая обрабатывает множество различных операций обработки изображений, обеспечивая при этом правильную обработку памяти. Он хорошо протестирован и очень прост в использовании.

Вы можете получить его здесь. 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);
}
Автор: James South Размещён: 24.07.2014 02:47
32x32