You receive a "System.OutOfMemoryException" error message when you try to use the Bitmap.FromFile method in the .NET Framework 1.0

Article translations Article translations
Article ID: 810109 - View products that this article applies to.
Expand all | Collapse all

SYMPTOMS

When you try to load an image by using the Bitmap.FromFile method in the Microsoft .NET Framework 1.0, you receive the following error message:
An unhandle exception of type 'System.OutOfMemoryException' occurred in system.drawing.dll

CAUSE

This problem may occur when you use the Bitmap.FromFile method and one of the following conditions is true:
  • The image file is corrupted.
  • The image file is incomplete.

    Note You may experience this problem if your application is trying to use the Bitmap.FromFile method on a file stream that is not finished writing to a file.
  • The image file does not have a valid image format or GDI+ does not support the pixel format of the file.
  • The program does not have permissions to access the image file.
  • The BackgroundImage propery is set directly from the Bitmap.FromFile method.

WORKAROUND

To work around this problem, use the following guidelines when you load images by using the Bitmap.FromFile method:
  • Make sure that the image file is not corrupted by opening the image file in another program.
  • Make sure that the image file is complete and that all writing to the image file is completed before you try to load the image file.
  • Make sure that the image file type is a supported image format. For more information about image formats, visit the following Microsoft Developer Network (MSDN) Web site:
    http://msdn2.microsoft.com/en-us/library/ms533814.aspx
  • Examine the permissions of the image file to make sure that the program can access the image file.
  • When you set the BackgroundImage property of a form, use the following example code to set the BackgroundImage property:
    Bitmap bmp=(Bitmap)Image.FromFile(@"Pictures\MyImage.jpg"); 
    this.BackgroundImage=new Bitmap(bmp,bmp.Size);
    
Note When you try to load an image from a file, you can catch the exception and then report the error. For example, the following Microsoft Visual Basic .NET code tries to load an image from a file:
Try
  PictureBox1.Image = Bitmap.From("c:\Badimage.gif")
Catch ex As Exception
  MessageBox.Show("Error loading file","Error")
End Try

STATUS

This behavior is by design.

MORE INFORMATION

For more information about the Bitmap class, visit the following MSDN Web site:
http://msdn2.microsoft.com/en-us/library/system.drawing.bitmap(vs.71).aspx

Properties

Article ID: 810109 - Last Review: May 9, 2007 - Revision: 1.3
APPLIES TO
  • Microsoft .NET Framework 1.0
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
Keywords: 
kbtshoot kbgdiplus kbprb KB810109

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com