【发布时间】:2014-05-18 19:48:30
【问题描述】:
我正在使用以下代码压缩 WEBP 格式的图像:
bitmap.compress(Bitmap.CompressFormat.WEBP, 100, outputStream)
虽然我使用的是最高质量设置,但看起来图像不是无损压缩,而是有损。 对应于Android开发者文档,应该可以无损压缩WEBP文件: http://developer.android.com/guide/appendix/media-formats.html http://developer.android.com/reference/android/graphics/Bitmap.CompressFormat.html
我正在使用 Android 4.4.2 Kitkat 的 Nexus 4 上执行此操作。此外,我在整个项目中都使用了最高级别的 SDK。
有人知道如何将位图保存为无损 WEBP 图像吗?
【问题讨论】:
-
我没有使用过 WEBP,但是有没有办法可以使用其他一些实用程序(例如 ImageMagick)来最终确认图像是以有损而不是无损保存的?如果我是一个赌徒,我猜你是对的,媒体格式页面是错误的,没有直接的方法以无损方式在 WEBP 中编码。但是,如果我站在你的立场上,我想确定图像是否以有损方式保存。
-
@CommonsWare 我在我的应用程序中再次加载图像,可以看到像素与之前的像素不同。如果我用 PNG 作为压缩算法做同样的事情,它工作得很好,这意味着我再次得到完全相同的图片。我使用的算法与我刚刚从 PNG 更改为 WEBP 的算法完全相同。
-
@CommonsWare ...此外,在将图像保存为 WEBP 后,许多像素具有相同的值,这表示有损压缩。
标签: android bitmap compression webp lossless