【问题标题】:How to get image compression quality from IIOMetadata?如何从 IIOMetadata 获得图像压缩质量?
【发布时间】:2011-08-05 04:07:45
【问题描述】:

使用ImageIO 保存新图像时,通用ImageWriteParam 支持显式设置compressionQuality 参数,范围从0.0f(高压缩)到1.0f(高质量),无论使用何种图像压缩算法(例如。 png, jpeg, gif)。

  • 有没有办法从现有图像中读取compressionQuality
  • compressionQuality 写入参数是否只是对ImageWriter 的提示,并且没有存储在图像元数据的任何位置?如果这是真的,图像处理软件(例如 GIMP)如何设法在“另存为”对话框中提供以下选项?

我设法从ImageInputStream 读取IIOMetadata 并遍历其metadataFormatNames 以打印出不同XML 格式的图像元数据(通常是本机和标准javax_imageio_1.0)。虽然我在里面找不到任何图片compressionQuality的迹象。

【问题讨论】:

  • 虽然某些软件和某些图像格式可能允许存储您通常无法做到的信息。将 jpeg 保存为“80% 质量”(无论这意味着什么)。现在将其转换为 PNG。现在将其重新转换为保存为“80% 质量”的 jpeg。即使文件格式保存了质量,你会得到什么? 80%?那将是完全错误的。它是 80% 的 80%(再一次,无论“80%”是什么意思)。此外,对于某些格式,“压缩质量”取决于压缩器的质量。对于某些格式,一个程序的“80%”百分比可能是另一个程序的“70%”,等等。

标签: java jpeg javax.imageio gimp image-compression


【解决方案1】:

我不认为compressionQuality 与图像元数据一起存储,这只是处理参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多