Как найти причину ошибки Generic GDI + при сохранении изображения?

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

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 + произошла общая ошибка.

в System.Drawing.Image.Save (имя файла строки, кодировщик ImageCodecInfo, кодировщик EncoderParameters кодировщикParams)
в System.Drawing.Image.Save (строковое имя файла, формат ImageFormat)
в ...

Насколько я вижу, в этом изображении нет ничего особенного. Он имеет размер около 250 пикселей и может быть открыт, например, в виде Средство просмотра изображений Windows или Paint.NET:

(Так как изображение выше, после загрузки в Stack Overflow больше не выдает ошибку, я поставилоригинальное изображение здесь)

Я обнаружил, что после вызоваSave методконечный файл изображения создается с нулевыми байтами.

Я действительно не знаю, что вызывает ошибку.

Мои вопросы:

Можете ли вы придумать что-нибудь особенное, что помешало бы .NET сохранить изображение?Есть ли способ (кроме паники), чтобы сузить подобные ошибки?

Ответы на вопрос(7)

Ваш ответ на вопрос