Search code examples
c#parametersbitmapsize

C# "Parameter is not valid." creating new bitmap


if I try to create a bitmap bigger than 19000 px I get the error: Parameter is not valid. How can I workaround this??

System.Drawing.Bitmap myimage= new System.Drawing.Bitmap(20000, 20000);

Solution

  • Keep in mind, that is a LOT of memory you are trying to allocate with that Bitmap.

    Refer to http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/37684999-62c7-4c41-8167-745a2b486583/

    .NET is likely refusing to create an image that uses up that much contiguous memory all at once.

    Slightly harder to read, but this reference helps as well:

    Each image in the system has the amount of memory defined by this formula:

    bit-depth * width * height / 8

    This means that an image 40800 pixels by 4050 will require over 660 megabytes of memory.