Joh*_*lip 6 .net c# jpeg freeimage
有几种工具可以在不牺牲质量的情况下优化JPEG,例如jpegtran.exe和Smush.it.我一直在寻找通过代码(最好是在.NET)中实现它的方法,而我目前已经确定了FreeImage,但是我没有得到我想要的结果.
有JPEG_OPTIMIZE一面旗帜,但你必须设置一个质量标志,然后它不再是无损的.
这是我试过的:
var image = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_JPEG, fileIn, FREE_IMAGE_LOAD_FLAGS.JPEG_ACCURATE);
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JPEG, image, fileOut, FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE);
Run Code Online (Sandbox Code Playgroud)
但它会进行压缩.我认为FreeImage可以优化(通过剥离元数据等),但我找不到如何保持相同的压缩/图像质量.这样做的正确方法是什么?
编辑:有一些关于无法优化JPEG的混淆,简短的回答是肯定的,因为你可以删除未使用的元数据.我不是在谈论压缩.请参阅这些主题或查看Michael B的答案.
问题是:可以用FreeImage完成,如果是这样的话:怎么做?
我认为 FreeImage 只支持无损转换(即FreeImage_JPEGTransform)。
这可以保存到不同的文件,但不幸的是,似乎没有办法在新文件上设置任何保存标志以允许剥离元数据等。
我只能建议您查看源代码,看看是否有任何您可以自己利用的内容。
| 归档时间: |
|
| 查看次数: |
5097 次 |
| 最近记录: |