将32位bmp转换为24位

时间:2012-09-24 20:23:47

标签: c# .net image bmp

我有一个System.Drawing.Image截图文件。 我把它转换为bmp,但问题是它产生32位bmp,而我需要一个24位bmp。如何将其转换为24?

1 个答案:

答案 0 :(得分:9)

试试这段代码:

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;
}