c# - 将 32 位 bmp 转换为 24 位

标签 c# .net image bmp

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

最佳答案

试试这段代码:

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

关于c# - 将 32 位 bmp 转换为 24 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12572352/

相关文章:

c# - 项目安装程序无法打开另一台计算机上的数据库。我的项目是带有 sqlite 数据库连接的 C# Windows 应用程序

c# - 以编程方式将应用程序池分配给iis7中的网站

c# - 在通过敲击键盘上的 Enter 触发点击事件之前,我可以使用哪个事件来触发对标签的更新?

c# - 当 AutoCheck 属性在 C# 中设置为 false 时,手动选中和取消选中 RadioButton 的正确方法是什么?

php - 如何在 Drupal 7 表单中添加图像字段

c# - 如何添加到尚未创建的列表。请帮忙!

c# - 如何在 C# 中将时区作为字符串获取?

c# - 如何让控件在窗口最大化时自行调整大小?

asp.net - 保护图片,怎么办?

android - 如何修复布局?