2012-08-10 47 views
0

我正在致力于Asp.Net mvc3项目。在我的项目中间,我必须完成这项任务。要将位图图像转换为每像素格式仅1位。如何将.net 4中的位图图片/图像转换为1 bpp位图图像?

如何将bitmap图片/图片转换为.net 4中的1 bpp位图图片?

任何人都可以给我任何提示如何转换吗?

+0

不要这样做,它缩小比例,结果很糟糕。无论如何用这种类型的代码:http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/94dc2598-bc40-4170-8dcb-7215223d0fd3 – 2012-08-10 13:28:11

回答

0

该任务的复杂性取决于源图像:如果它是黑白的,那么您应该只需要使用PixelFormat.Format1bppIndexed创建一个新的位图,然后在两个位图上调用LockBits并循环遍历每个像素。另一方面,如果它包含许多颜色/灰度级别,那么您需要深入研究抖动算法,如http://en.wikipedia.org/wiki/Floyd%E2%80%93Steinberg_dithering或查找能够为您做到这一点的代码。

+0

你不能画一个Format1bppIndex格式的位图。 – 2012-08-10 13:25:26