Dispose temporary image used in scaling code

master
Nathan Crawford 2016-04-04 19:46:27 -04:00
rodzic 7c779615dc
commit 9a7c4c19b4
1 zmienionych plików z 6 dodań i 5 usunięć

Wyświetl plik

@ -223,11 +223,11 @@ namespace embroideryReader
{ {
// Scale image code from http://stackoverflow.com/questions/1922040/resize-an-image-c-sharp // Scale image code from http://stackoverflow.com/questions/1922040/resize-an-image-c-sharp
Rectangle destRect = new Rectangle(0, 0, width, height); Rectangle destRect = new Rectangle(0, 0, width, height);
Bitmap destImage = new Bitmap(width, height); Bitmap scaledImage = new Bitmap(width, height);
destImage.SetResolution(tempImage.HorizontalResolution, tempImage.VerticalResolution); scaledImage.SetResolution(tempImage.HorizontalResolution, tempImage.VerticalResolution);
using (var graphics = Graphics.FromImage(destImage)) using (var graphics = Graphics.FromImage(scaledImage))
{ {
graphics.CompositingMode = CompositingMode.SourceCopy; graphics.CompositingMode = CompositingMode.SourceCopy;
graphics.CompositingQuality = CompositingQuality.HighQuality; graphics.CompositingQuality = CompositingQuality.HighQuality;
@ -241,8 +241,9 @@ namespace embroideryReader
graphics.DrawImage(tempImage, destRect, 0, 0, tempImage.Width, tempImage.Height, GraphicsUnit.Pixel, wrapMode); graphics.DrawImage(tempImage, destRect, 0, 0, tempImage.Width, tempImage.Height, GraphicsUnit.Pixel, wrapMode);
} }
} }
// Keep the scaled image and toss the intermediate image // Keep the scaled image and dispose the intermediate image
tempImage = destImage; tempImage.Dispose();
tempImage = scaledImage;
} }
// About to abandon the current DrawArea object, dispose it now // About to abandon the current DrawArea object, dispose it now