2011-04-04 150 views
2

我们有一个.NET应用程序,它通过打印到虚拟打印机当前创建文档到TIFF文件。我们想摆脱虚拟打印机,因为它昂贵,速度慢,并且不支持64位操作系统。现在,我可以使用其他工具来创建TIFF图像,例如300 dpi的Word文档。但是,我对最终的TIFF格式没有很大的控制权。具体来说,它会创建完整的24位真彩色图像,从而创建非常大的TIFF文件。传统的解决方案,所有的缺点,确实创造了漂亮的8位调色板彩色TIFF文件。从真彩色图像转换为调色板颜色

所以我的问题是这样的:有没有一种简单,有效的方法将24位真彩色图像转换为8位调色板彩色图像?如果生成的调色板针对特定图像进行了优化,那将会很好,但是我意识到分析每个像素可能太慢。使用标准8位调色板的解决方案当然可以接受。 .NET图像库中是否有这样的方法,或者是第三方的开源工具?我已经与ImageMagick.NET搞混了一点,但对这个体验并不满意。

+0

你是否检查过SO:http://stackoverflow.com/questions/4441388/bayer-ordered-dithering – 2011-04-04 20:50:16

+0

Palettes走了渡渡鸟的道路,以及需要它们的视频适配器。从那时起,三分之一的因素被制造出来。抛出硬件问题。 – 2011-04-04 21:05:01

+0

不幸的是,这不是我们的硬件。我们正在制作TIFF图像,供客户在自己的系统中存储/查看。他们期望它们的尺寸与以前相同,但是在很多情况下,它们使用的是一些非常古老的遗留系统。 – 2011-04-05 15:22:58

回答

0

如果以.gif格式保存,则应使用256色调色板图像。如果你的客户端可以读取.gif文件,这可能是一个简单的解决方案。 Leadtools可以保存苍白的.tif文件,但它不是开源的。

0

结账FreeImage。有一堆save flags,你可以通过你可以指定压缩级别。还有一种叫做ConvertColorDepth的方法听起来很有希望。您必须查看许可证以查看它是否适合您。

+2

尽管这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/19038449) – Vincent 2018-03-07 21:40:20