android在不加载图片的前提下获得图片的宽高
public static int[] getImageWidthHeight(String path){
BitmapFactory.Options options = new BitmapFactory.Options();
/**
* 最关键在此,把options.inJustDecodeBounds = true;
* 这里再decodeFile(),返回的bitmap为空,但此时调用options.outHeight时,已经包含了图片的高了
*/
options.inJustDecodeBounds = true;
Bitmap bitmap = BitmapFactory.decodeFile(path, options); // 此时返回的bitmap为null
/**
*options.outHeight为原始图片的高
*/
return new int[]{options.outWidth,options.outHeight};
}
通过BitmapFactory从不同位置获取Bitmap
1.资源文件(drawable/mipmap/raw)
BitmapFactory.decodeResource(getResources(), R.mipmap.slim_lose_weight_plan_copenhagen,options);
2.资源文件(assets)
InputStream is = getActivity().getAssets().open("bitmap.png");
BitmapFactory.decodeStream(is);
3.内存卡文件
bitmap = BitmapFactory.decodeFile("/sdcard/bitmap.png");
4.网络文件
bitmap = BitmapFactory.decodeStream(is);