在C#中创建的TIFF图像的分辨率

时间:2011-12-06 03:58:13

标签: c# image bitmap tiff fax

对于传真管理应用程序,我编写了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。

如何保持正确的格式但缩小文件大小?

1 个答案:

答案 0 :(得分:1)

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