Не открывается изображение в Фотошопе после обработки C#

Рейтинг: 0Ответов: 1Опубликовано: 02.07.2023

Уменьшаю изображение через C#:

string originalPicPath = project.Variables["imageAddress"].Value;

int newWidth = 300;
int newHeight = 153;

System.Drawing.Image image = System.Drawing.Image.FromFile(originalPicPath);
System.Drawing.Image resized = image.GetThumbnailImage(newWidth, newHeight, null, System.IntPtr.Zero);

image.Dispose();
File.Delete(originalPicPath);

resized.Save(originalPicPath);
resized.Dispose();

Сохраненную картинку мне нужно обработать в Фотошопе, но она не открывается. Из-за чего так может происходить? Возможно C#-код с ошибками и неправильно сохраняет картинку?

введите сюда описание изображения

Ответы

▲ 0Принят

Код выглядит абсолютно валидным. Возможные варианты:

  1. Проверьте originalPicPath возможно что-то не так с путем к файлу.
  2. Можно попробовать явно указать расширение для сохраняемого файла.
  3. У вас что-то с PS, проверял на лицензионной версии 2022, мне не удалось воспроизвести ту же ошибку. Возможно, это подтверждает первую версию, если указывать другое расширение для изображение PS все равно разбирает его кодировку и открывает штатно, но это только в новых версиях. В старых, насколько я помню, была такая ошибка при несоответствии кодировки изображения и расширения.

Также лучше не использовать System.Drawing это решение не является кроссплатформенным и качество обработки изображений не лучшее.