Код: Выделить всё
const string i1Path = @"c:\my\i1.jpg";
const string i2Path = @"c:\my\i2.jpg";
var i = Image.FromFile(i1Path);
i.Save(i2Path, ImageFormat.Jpeg);
Произошло System.Runtime.InteropServices.ExternalException
В GDI+ произошла общая ошибка.
at System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
at System.Drawing.Image.Save(String filename, ImageFormat format)
at ...
Насколько я вижу, в изображении нет ничего особенного. Его размер составляет около 250 пикселей, и его можно открыть, например. Средство просмотра изображений Windows или Paint.NET:

(Поскольку изображение выше после загрузки в Stack Overflow больше не выдает ошибку, я поместил сюда исходное изображение)
Я обнаружил, что при вызове метода Save, конечный файл изображения создается с нулевыми байтами.
Я действительно не знаю, что вызывает ошибку.
Мои вопросы:
- Можете ли вы придумать что-нибудь особенное, что помешало бы .NET сохранить изображение?
- Есть ли какой-нибудь способ (кроме паники) сузить количество ошибок такого рода?
Подробнее здесь: https://stackoverflow.com/questions/155 ... g-an-image
Мобильная версия