我正在尝试将位图转换为 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/