From a1ee3525147aa10e500cabc58a3c4348ab89c561 Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Fri, 31 May 2013 05:46:10 -0200 Subject: [PATCH] Additional fix for U4-335 Image cropper out of memory --- .../imagecropper/ImageManipulation.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/umbraco.editorControls/imagecropper/ImageManipulation.cs b/src/umbraco.editorControls/imagecropper/ImageManipulation.cs index e9d67645b8..9835f7b2cb 100644 --- a/src/umbraco.editorControls/imagecropper/ImageManipulation.cs +++ b/src/umbraco.editorControls/imagecropper/ImageManipulation.cs @@ -74,15 +74,19 @@ namespace umbraco.editorControls.imagecropper private static Image CropImage(Image img, Rectangle cropArea) { - var bmpImage = new Bitmap(img); - if (cropArea.Right > img.Width) cropArea.Width -= (cropArea.Right - img.Width); if (cropArea.Bottom > img.Height) cropArea.Height -= (cropArea.Bottom - img.Height); - var bmpCrop = bmpImage.Clone(cropArea, bmpImage.PixelFormat); + var bmpCrop = new Bitmap(cropArea.Width, cropArea.Height); + + using (var graphics = Graphics.FromImage(bmpCrop)) + { + graphics.DrawImage(img, new Rectangle(0, 0, bmpCrop.Width, bmpCrop.Height), cropArea, GraphicsUnit.Pixel); + } + return bmpCrop; }