1

对于传真管理应用程序,我编写了 C# 代码从头开始创建 TIFF 文件:

// Bitmap imgNew = new Bitmap(2550, 3300);
Bitmap imgNew = new Bitmap(1728, 1000);
imgNew.SetResolution((float)96, (float)96);

Graphics graphNew = Graphics.FromImage(imgNew);
graphNew.Clear(Color.White);

// Followed by a series of graphNew.DrawString statements

imgNew.Save(ms, ImageFormat.TIFF); // where ms is a MemoryStream

取消注释时,第一行将生成一个 8.5" x 11" 的图像,其中文本字段位于正确的位置。第二行的尺寸更接近现有商业应用程序生成的文件的尺寸,输出文件的大小约为我的应用程序创建的文件大小的 1/10。如果我对 SetResolution 参数使用较小的值 (46),则文本非常小,但文档尺寸正确。不幸的是,该文件仍然很大。

生成文件时,我显然没有做正确的事情。文件详细信息表明水平和垂直分辨率值均为96,位深为1,压缩设置为CCITT T.6。

我该怎么做才能保持正确的格式但减小文件大小?

4

1 回答 1

1

您要使用的传真尺寸(1728、1000)可能是 204 x 98 dpi。如果将分辨率编码为 96x96 dpi,它看起来会被压扁。该大小的双层图像应使用 T.6 (CCITT-G4) 压缩压缩到 20-100K 字节。如果它大于 100K,要么您没有将其压缩为 G4,要么图像可能包含大量噪点或灰色/方格区域。您可以在图像上尝试一个简单的去噪功能来去除小的“规格”。

于 2012-01-06T19:11:27.703 回答