【问题标题】:Why the decreasing the png/jpg quality factor in ImageIO.save() does not decrease the output image file size?为什么减少 ImageIO.save() 中的 png/jpg 质量因子不会减少输出图像文件的大小?
【发布时间】:2016-06-14 01:29:44
【问题描述】:

我一直在用

ImageIO.getImageIO().save(image, os, ImageIO.FORMAT_PNG, qualityFactor)

将图像保存在文件中的方法。无论我使用 0.0 到 1.0 之间的浮点值作为 qualityFactor,无论我选择什么格式(PNG 或 JPEG),我总是得到相同的输出文件大小(以 kB 为单位)。

注意:我只在模拟器(iPhone / Android)上检查过,而不是在真实设备上检查过。

考虑质量因素的正确方法是什么?

干杯,

【问题讨论】:

  • Ehmmm ... qualityFactor(和其他参数)应该在 save() 方法内,不是吗?
  • 很好看的@leonbloy,我编辑了我的问题,谢谢!

标签: image png jpeg codenameone


【解决方案1】:

这是对底层平台的提示,并非所有平台都接受这样的提示。 iOS 有,但安卓没有。

iOS 仅接受 JPEG 格式,因此它不会影响无损格式的 PNG。

【讨论】:

  • 好的,很高兴知道这一点!谢谢@Shai!
【解决方案2】:

PNG 中没有“质量”调整。显然您的编码器的 API 具有这样的兼容性设置。在 PNG 中,可以计算时间与压缩大小,但这不会影响图像质量。

在 JPEG 中存在质量与大小的权衡。但是,JPEG 没有固有的“质量”因素。质量是二次采样、量化表选择和(在较小程度上)最优霍夫曼表的函数。

您的编码器对“质量”参数所做的事情是任何人的猜测。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    相关资源
    最近更新 更多