Изменить размеры изображения - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Пытаюсь изменить размеры изображения:
public static Image resizeImage(Image imgToResize, Size size)
        {
            return (Image)(new Bitmap(imgToResize, size));
        }
 
for (int j = 1; j < 5; j++)
            {
                var yourImage = resizeImage(Image.FromFile(diskSave + "screen" + j + ".jpg"), new Size(imageWidth, imageHeight));
                yourImage.Save(diskSave + "screen1" + j + ".jpg");
                yourImage.Dispose();
            }
Но есть проблема: выскакивает "gdi+ ошибка общего вида". Решил эту проблему тем, что при сохранении уже измененного размера изображения не перезаписываю старый файл, а создаю новый. Только вот хотелось бы, чтобы вариант с перезаписью все-таки работал. А что для этого сделать я не знаю... Ну и еще: можно ли как-то контролировать размер изображения после изменения его ширины и высоты? Т.е. иногда так получается, что исходный файл весит 71 кб, а новый чуть ли не 1 мб. Нужно как-то это все ограничить 500 кб.

Решение задачи: «Изменить размеры изображения»

textual
Листинг программы
for (int j = 1; j < 5; j++)
            {
 
                using (MagickImage image = new MagickImage(diskSave + "screen" + j + ".jpg"))
                {
                    MagickGeometry size = new MagickGeometry(imageWidth, imageHeight);
                    size.IgnoreAspectRatio = true;
 
                    image.Resize(size);
                    
                    image.Write(diskSave + "screen" + j + ".jpg");
                }
                
            }

Оцени полезность:

10   голосов , оценка 4.5 из 5
Похожие ответы