我有一个控制台应用程序,可以在保持纵横比的同时成功调整图像大小。
我现在需要裁剪图像,我使用的代码如下:
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% 确定。