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

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

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

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

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

textual
Листинг программы
  1. for (int j = 1; j < 5; j++)
  2.             {
  3.  
  4.                 using (MagickImage image = new MagickImage(diskSave + "screen" + j + ".jpg"))
  5.                 {
  6.                     MagickGeometry size = new MagickGeometry(imageWidth, imageHeight);
  7.                     size.IgnoreAspectRatio = true;
  8.  
  9.                     image.Resize(size);
  10.                    
  11.                     image.Write(diskSave + "screen" + j + ".jpg");
  12.                 }
  13.                
  14.             }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

10   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы