OutOfMemoryException with Image.Clone - Only on Windows 2003
Posted
by Jeff Rapp
on Stack Overflow
See other posts from Stack Overflow
or by Jeff Rapp
Published on 2010-03-23T15:22:48Z
Indexed on
2010/03/23
15:23 UTC
Read the original article
Hit count: 638
So here's my issue. I have an image that I need to shrink. The original image is a grayscale PNG, which isn't a huge issues except that when I shrink it down, the thermal label printers pickup the artifacts and print them on the label. So, what I did was change the image to black & white (Format1bppIndexed) before resizing, like this:
Dim bte() As Byte = System.Convert.FromBase64String(imgStr)
Dim ms As New IO.MemoryStream(bte)
Dim bmp As New System.Drawing.Bitmap(ms)
Dim monoImage As Drawing.Bitmap = New Drawing.Bitmap(1200, 1800, Drawing.Imaging.PixelFormat.Format1bppIndexed)
Dim rect As New Drawing.Rectangle(0, 0, 1200, 1800)
monoImage = bmp.Clone(rect, Drawing.Imaging.PixelFormat.Format1bppIndexed)
And then I resize it. This code works fine on my Windows 7 machine, but when I run it on the Windows 2003 Server box that it calls home, it always throws an OutOfMemoryException when it hits the bmp.Clone line.
Any ideas as to what's happening, or perhaps a better solution to converting the image to B&W?
© Stack Overflow or respective owner