任何简单的方法?我试图通过抖动将PixelFormat从24位图像转换为16位RGB555(对于便携式设备)。我已经测试了很多方法:
他们都工作不好。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms536306(v=vs.85).aspx
我找到了一个GDI +包装器,但缺少此功能。
谢谢!
答案 0 :(得分:0)
您可以使用构造函数中的Bitmap类转换图像,传递转换格式的参数,它将使用您提到的PixelFormat渲染图像。
public static Bitmap ConvertTo16bpp(Image img) {
//you can also use Image.FromFile(fileName);//fileName can be absolute path of the image.
var bmp = new Bitmap(img.Width, img.Height,System.Drawing.Imaging.PixelFormat.Format16bppRgb555);
using (var gr = Graphics.FromImage(bmp))
gr.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height));
return bmp;
}
如果您有一些简单的要求,您可能不需要AForge.NET(一个出色的图像处理库),您可以选择一个简单的解决方案,但这是您的决定。