При использовании кода ниже я иногда получаю сообщение об ошибке «Произошла общая ошибка в GDI +. System.Drawing.Image.Save». Я начал верить, что это потому, что я удаляю исходное изображение перед сохранением вновь созданного изображения. Это тот случай? Когда действительно безопасно удалить исходный файл изображения?
Подкласс:
thumbnailImage = GetThumb();
thumbnailImage.Save(fullDestinationFilename);
Базовый класс:
public virtual Image GetThumb() {
using (var image = Image.FromFile(sourceFile)) {
thumbImage = Crop(image, BrowserWidth, BrowserHeight));
}
File.Delete(sourceFile);
return thumbImage;
}
private static Image Crop(Image image, int width, int height) {
var croppedImage = new Bitmap(width, height);
using (var g = Graphics.FromImage(croppedImage)){
g.DrawImage(image, 0, 0, image.Width, image.Height);
return croppedImage;
}
}