jpg无损压缩 java_使用FreeImage对JPEG进行无损优化
您可以使用FreeImage刪除元數據,但是,對于jpeg,圖像將在保存時重新壓縮,并伴隨相關的圖像質量損失 .
' by default, FreeImage will have copied the metadata to the new image
If Not (args.CopyMetadata) Then
Dim tag As New FreeImageAPI.FITAG
FreeImage.SetMetadata(FREE_IMAGE_MDMODEL.FIMD_COMMENTS, dib2, Nothing, tag)
FreeImage.SetMetadata(FREE_IMAGE_MDMODEL.FIMD_IPTC, dib2, Nothing, tag)
FreeImage.SetMetadata(FREE_IMAGE_MDMODEL.FIMD_XMP, dib2, Nothing, tag)
' value of 11 is for FIMD_EXIF_RAW
FreeImage.SetMetadata(DirectCast(11, FreeImageAPI.FREE_IMAGE_MDMODEL), dib2, Nothing, tag)
FreeImage.DeleteTag(tag)
End If
If File.Exists(targetFile) Then
File.Delete(targetFile)
End If
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JPEG, dib2, targetFile, FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE Or FREE_IMAGE_SAVE_FLAGS.JPEG_QUALITYGOOD)
如果要從FIF_JPEG以外的文件類型中刪除元數據,則應查閱文檔以查看哪些文件是可寫的 .
要在不影響圖像的情況下刪除元數據,您需要查看jpeg文件交換格式并僅提取所需的數據 . 如果您碰巧安裝了Photoshop 6安裝CD(6而不是CS6),則在安裝PS6 SDK時可以獲得包含相關信息的文檔 .
總結
以上是生活随笔為你收集整理的jpg无损压缩 java_使用FreeImage对JPEG进行无损优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php语句结束标记,PHP结束标记“?”
- 下一篇: java并发集合面试题,那些经常被问的J