ps:在图片展示中有时会遇到要获取图片宽高的情况!
1、本地图片尺寸获取
BitmapFactory.Options options=new BitmapFactory.Options();
/**获取资源文件中图片尺寸*/
Bitmap bmp=BitmapFactory.decodeResource(getResources(),R.drawable.oldkids_banner_default,options);
/**获取assets文件中图片尺寸**/
InputStream is= null;
try {
is = getAssets().open("icon_default.png");
} catch (IOException e) {
e.printStackTrace();
}
Bitmap bmp2=BitmapFactory.decodeStream(is);
options.inJustDecodeBounds=true;
/**获取内存卡中图片尺寸**/
Bitmap bmp3=BitmapFactory.decodeFile("/storage/emulated/0/UCDownloads/pictures/pic_uc_1493011366435.jpg",options);
2、网络图片尺寸获取
这里利用第三方图片加载库Glide 来获取图片的宽高。
Glide.with(context)
.load(url)
.asBitmap()
//设置获取Bitmap
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation<? super Bitmap> glideAnimation) {
//通过拿到的bitmap获取图片宽高
int width=bitmap.getWidth();
int height=bitmap.getHeight();
/**操作宽高需要通过msg将值传递出去,不能直接在该方法中直接操作**/
}
});