的图片
? ? */
? ? public static Bitmap compressBitmapFromResourse(Context context, int resId, int reqWidth, int reqHeight) {
? ? ? ? final BitmapFactory.Options options = new BitmapFactory.Options();
? ? ? ? /*
? ? ? ? * 第一次解析时,inJustDecodeBounds设置为true,
? ? ? ? * 禁止为bitmap分配内存,虽然bitmap返回值为空,但可以获取图片大小
? ? ? ? */
? ? ? ? options.inJustDecodeBounds = true;
? ? ? ? BitmapFactory.decodeResource(context.getResources(), resId, options);
? ? ? ? final int height = options.outHeight;
? ? ? ? final int width = options.outWidth;
? ? ? ? int inSampleSize = 1;
? ? ? ? if (height > reqHeight || width > reqWidth) {
? ? ? ? ? ? final int heightRatio = Math.round((float) height / (float) reqHeight);
? ? ? ? ? ? final int widthRatio = Math.round((float) width / (float) reqWidth);
? ? ? ? ? ? inSampleSize = heightRatio < widthRatio ? heightRatio : widthRatio;
? ? ? ? }
? ? ? ? options.inSampleSize = inSampleSize;
? ? ? ? // 使用计算得到的inSampleSize值再次解析图片
? ? ? ? options.inJustDecodeBounds = false;
? ? ? ? return BitmapFactory.decodeResource(context.getResources(), resId, options);
? ? }
?
?