jason clark jason clark - 20 days ago 5
C# Question

how to get Bitsperpixel from a bitmap

I have a 3rd party component which requires me to give it the bitsperpixel from a bitmap.

What's the best way to get "bits per pixel"?

My starting point is the following blank method:-

public int GetBitsPerPixelMethod( system.drawing.bitmap bitmap )
{
//return BitsPerPixel;
}

Answer

Use the Pixelformat property, this returns a Pixelformat enumeration which can have values like f.e. Format24bppRgb, which obviously is 24 bits per pixel, so you should be able to do something like this:

switch(Pixelformat)       
  {
     ...
     case Format8bppIndexed:
        BitsPerPixel = 8;
        break;
     case Format24bppRgb:
        BitsPerPixel = 24;
        break;
     case Format32bppArgb:
     case Format32bppPArgb:
     ...
        BitsPerPixel = 32;
        break;
     default:
        BitsPerPixel = 0;
        break;      
 }