无法获取具有透明度的webP图像的位图大小



我正在对相对较新的webP图像格式进行一些实验,该格式在android 4(ICS)上得到支持,如此处所示

到目前为止,为了在加载之前获得图像大小,我使用了下一个代码(类似于谷歌在这里显示的):

final BitmapFactory.Options options=new BitmapFactory.Options();
options.inJustDecodeBounds=true;
BitmapFactory.decodeStream(inputStream,null,options);
//image size is in options.outWidth,options.outHeight 

然而,当我在具有透明度的webP图像上使用它时,它似乎根本无法获得这些信息(宽度和高度都返回-1)。

谷歌有可能在解码这种图像文件类型时出现错误吗?

有办法克服这个问题吗?

为了测试它,只需将一个具有透明度的png文件(比如我使用过的这个文件,并通过paint.net应用程序添加了一些透明像素)转换为webP格式(使用谷歌的工具),然后像我使用的代码一样读取文件的分辨率。

我也遇到了这个问题。

遗憾的是,根据这个错误报告,对WEBP的透明支持只在Android JB-MR2(4.2)中添加

所以在android 4.0到4.2版本中,WEBP只有在没有alpha通道的情况下才有效。

最新更新