我正在使用相对较新的webP图片格式进行一些实验,这在Android 4(ICS)上受支持,如here所示。
到目前为止,为了在加载图像之前获取图像大小,我使用了下一个代码(类似于google显示的here):
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)。
google可能有解码此图片文件类型的错误吗?
有没有办法克服这个问题?
为了测试它,只需转换一个具有透明度的png文件(例如我使用的this并通过paint.net app添加一些透明像素)到webP格式(使用{ {3}}),并尝试像我使用的代码一样读取文件的分辨率。
答案 0 :(得分:0)
我也遇到了这个问题。
可悲的是,根据这个bug report对WEBP的支持,透明度仅在Android JB-MR2(4.2)中添加。
所以在android 4.0中直到4.2 WEBP才有效,如果没有alpha通道。