Alex Rivera | Logout

out of memory Image.FromFile

Asked 2010-10-03T01:05:05.433
23

Why is it that I'm getting an out of memory error? Thank you

if (File.Exists(photoURI))
{
    FileStream fs = new FileStream(photoURI, FileMode.Open, FileAccess.Read);
    Image img = Image.FromStream(fs);
    fs.Close();
}
Edit
Report

1 Answer

9

See this reply by Hans Passant:

GDI+ was written quite a while before .NET ever came around. The SDK wrapper for it was written in C++. To keep it compatible, it couldn't use exceptions. Error conditions were reported with error codes. That never scales well, GDI+ has only 20 error codes. That's not much for such a large chunk of code.

The Status::OutOfMemory error code got overloaded to mean different things. Sometimes it really does mean out of memory, it can't allocate enough space to store the bitmap bits. Sadly, don't know how that happened, an image file format problem is reported by the same error code. There is no dedicated error code that could more accurately describe it, I guess.

answered 2013-07-05T17:52:59.980

Your Answer