以编程方式将图像保存/转换为WebP格式

6

在Android中,位图是否可以转换或保存为webp格式?

我搜索了一下,但是没有找到什么有用的信息。

我需要将图像保存为webp格式,否则需要先保存为PNG/JPEG,然后通过编程方式转换为webp

2个回答

11
你可以使用CompressFormat.WEBP将任何位图编码为WEBP格式。
示例:
FileOutputStream out = new FileOutputStream(path); 
bitmap.compress(Bitmap.CompressFormat.WEBP, 100, out);
out.close();

这个文件是否具有使用Android Studio转换的webp文件的相同属性? - Vivek Faldu
不知道你在说什么属性。试一次就行了。 - Nabin Bhandari
1
如何在Android中将GIF转换为WebP? - tej shah
如果 GIF 图像只有一个帧,则解码图像以获取“位图”。然后,将“位图”压缩为 WEBP 格式。 - Nabin Bhandari
1
@NabinBhandari 感谢回复。我的gif超过10帧,有什么办法吗? - tej shah
显示剩余6条评论

3
自 Android 30 起,Bitmap.CompressFormat.WEBP 已被弃用,请使用以下方式:
FileOutputStream(file).use { out ->
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
       bmp.compress(
       Bitmap.CompressFormat.WEBP_LOSSLESS, // or WEBP_LOSSY
       100,out)    
    } else {
       bmp.compress(Bitmap.CompressFormat.WEBP,100,out)
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接