android - 是否可以在Android上控制png编码的图像质量?

标签 android image png

我正在尝试将位图转换为 PNG

bitmap.compress(Bitmap.CompressFormat.PNG, quality, outStream);

然后共享文件。根据documentation PNG 格式忽略 quality 参数。

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

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

最佳答案

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

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

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

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

关于android - 是否可以在Android上控制png编码的图像质量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38294677/

相关文章:

Android:使用ADB获取所有已安装的包

c# - 如何比较两个不同的图像,通过tcp发送差异,然后将差异与客户端上的图像合并?

html - 有什么方法可以只加载显示分辨率的图像(而不是全尺寸)- Blogger

image - 将 base64 图像字符串转换为可以使用 node.js 提供给浏览器的图像文件

image - 如何将透明图像添加到 MS Access 2010 按钮控件?

java - 使用 GSON 从 JSON 转换,无法将 ArrayList 转换为对象

android - 动画不工作

android - onActivityResult 从未在 TabActivity 中被调用

Android,如何围绕固定点旋转箭头(图像)?

python - PIL : How to make area transparent in PNG?