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