【问题标题】:Is it possible to control the image quality of png encoding on Android?是否可以在 Android 上控制 png 编码的图像质量?
【发布时间】:2016-11-12 16:14:21
【问题描述】:

我正在尝试使用

将位图转换为 PNG
bitmap.compress(Bitmap.CompressFormat.PNG, quality, outStream);

然后共享文件。根据documentationquality参数对于PNG格式被忽略。

尽管它是一种无损格式,但我可以在将位图转换为 PNG 时控制图像质量吗?

或者我应该使用 JPEG,考虑到我要分享的图像没有任何透明度。另一方面,据我所知,图像的某些部分(大约 30-40%)填充了相同的颜色,这与 PNG 效果很好。

【问题讨论】:

  • 我不知道 PNG 有质量因子的概念。

标签: android image png


【解决方案1】:

PNG 没有品质因数。 PNG 压缩是无损的(即质量始终为 100%)。

但是,您可以在将图像交给压缩器之前降低图像质量,方法是减少颜色数量和透明度级别,不使用抗锯齿等,以使图像数据更可压缩。

您还可以在之后使用单独的优化器重新压缩 PNG 文件,例如 pngquant、pngcrush、imagemagick/graphicsmagick、zopflipng 或 optipng。

请注意,imagemagick/graphicsmagick 对于 PNG 压缩确实有一个“质量”值,但它与 JPEG 文件的含义不同(更高的 PNG“质量”通常意味着更好的压缩但图像外观没有变化)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-25
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    相关资源
    最近更新 更多