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: 604

Filed under:
|
|

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

Related posts about vb.net

Related posts about .NET