我正在尝试将JPG
文件转换为TIFF
System.Drawing.Image.Save(String, ImageFormat)
但结果TIFF
是JPEG
的文件的4倍。例如,200KB JPEG
会产生800KB TIFF
。
如何获得TIFF
文件或与JPEG
大致相同的尺寸?
答案 0 :(得分:6)
如果您绝对需要将JPEG转换为TIFF。您可以尝试使用重载方法Image.Save Method (Stream, ImageCodecInfo, EncoderParameters)
您需要传递压缩设置为JPEG的编码器参数。
This MSDN link有一个关于如何设置/使用编码器参数的示例。
根据Wikipedia的引用,您应能够以大致相同的文件大小保存TIFF。
例如,TIFF文件可以是容纳JPEG(有损)和PackBits(无损)压缩图像的容器
修改强> 刚尝试使用GIMP(开源图像编辑程序)并将JPEG保存为TIFF,但使用了不同的压缩设置。以下是结果:
原始JPEG文件: 256KB
JPEG压缩的TIFF文件: 598KB
LZW压缩的TIFF文件: 2,239KB
即使您使用JPEG压缩算法结束TIFF文件,您的文件大小也可能翻倍。我不确定这是否只是我使用的程序/图像给了我这些结果,因为我没有尝试其他任何东西,但至少我没有达到原始尺寸的4倍。
另一方面,JPEG压缩似乎不是System.Drawing.Imaging.EncoderValue
枚举中的一个选项。因此,可以尝试每个可用的选项,看看它们是否有效,或者找到其他可以执行此操作的库。也许试试LibTiff?
答案 1 :(得分:0)
jpeg文件被压缩,没有完整的tiff数据。 tiff文件总是比jpeg文件大得多。 Photoshop tiff的基本格式。布兰登的答案也非常好。