Converting 32 bit bmp to 24 bit

Tyler Durden picture Tyler Durden · Sep 24, 2012 · Viewed 16.3k times · Source

I have a System.Drawing.Image screenshot file. I cast it to bmp, but the problem is that it makes a 32 bit bmp, while I need a 24 bit one. How can I convert it to 24?

Answer

MUG4N picture MUG4N · Sep 24, 2012

try this code:

public static Bitmap ConvertTo24bpp(Image img) {
  var bmp = new Bitmap(img.Width, img.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
  using (var gr = Graphics.FromImage(bmp))
    gr.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height));
  return bmp;
}