У меня есть консольное приложение, которое успешно изменяет размеры изображения, сохраняя соотношение сторон.
Теперь мне нужно обрезать изображение, код которого я использую ниже:
using (var thumbnail = CropPicture(image, rectangle)) {
EncoderParameters encParams = new EncoderParameters(1);
encParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)90);
thumbnail.Save(destination, GetImageCodecInfo(image.RawFormat), encParams);
}
public static Image CropPicture(Image source, Rectangle cropArea) {
using (var bitmap = new Bitmap(source)) {
return (Image)(bitmap.Clone(cropArea, source.PixelFormat));
}
}
Кажется, он выдает исключение «Недостаточно памяти» в строке
return (Image)(bitmap.Clone(cropArea, source.PixelFormat));
Есть идеи, что происходит?Я думаю, что это открытый файл, не может быть уверен на 100%.