Tag: freeimage

JPEG压缩的TIFF比原始JPEG大得多

我正在尝试使用FreeImage.Net和C#将JPEG转换为使用JPEG压缩的TIFF 。 这很好,但是,对于低质量的JPGES,TIFF文件比原始文件大很多。 我假设TIFF大小不依赖于原始的JPEG质量,因为输出图像总是大致相同。 例如(转换屏幕截图): 2065kb JPEG (quality: 100%) –> 1282kb TIFF 379kb JPEG (quality: 50%) –> 1200kb TIFF 这种规模的增加对我们公司来说是不可接受的,因为我们的客户和我们正在处理大量文件。 有趣的是,当我用GIMP转换图像时,我得到了相同的结果。 现在我想知道: 这是根据TIFF标准还是特别的FreeImage / GIMP? (我认为两者都使用libtiff.dll )。 我想还有另一种方法,因为我们公司有一台扫描仪可以生成图像为JPEG压缩的TIFF,尺寸更小。 有没有人知道另一个库 (无论是否免费)可以更有效地处理这种转换,或者在FreeImage中实现这一点? 更新: 我看了一下TIFF 6.0规范 ,分析了我们的扫描仪生成的文件,并且能够编写一个将JPEG包装到一个非常简单的TIFF容器中的函数(也可以使用多个JPEG合并到多页TIFF中)。 对于那些对TIFF有所了解的人:我根据图像/页面的数量生成了一个新的TIFF文件(带有一个或多个IFD),并将现有JPEG图像的原始数据写入单个条带(每个IFD),使用以下字段/条目: NewSubfileType = 0 ImageWidth = //(width of the original JPEG) ImageLength = //(height of the original JPEG) BitsPerSample = {8, […]

将FreeImage .NET添加到解决方案中

我已经关注了这个post,但我仍然没有采取一些步骤。 我是C#的新手,这可能就是问题所在。 我会喜欢一点帮助(我整天都在敲打这个)。 我可以在Visual Studio中打开FreeImage.NET解决方案(Win7 64位机器btw)。 这篇文章说我需要构建它以获得C#dll。 当我构建它时,我得到数百个错误“类型或命名空间’名称’无法找到”。 是否需要先添加C ++ DDL? 我把它拖放到解决方案上,但仍然是错误。 我做的事情简单而错误吗? 具体来说,我要做的是在C#Visual Studio Express 2012中添加FreeImage到项目中。 谢谢,丹