Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inMutable = true;
- _bitmap = BitmapFactory.decodeFile(_path, options);
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
- int imageHeight = options.outHeight;
- int imageWidth = options.outWidth;
- public static int calculateInSampleSize(
- BitmapFactory.Options options, int reqWidth, int reqHeight) {
- // Raw height and width of image
- final int height = options.outHeight;
- final int width = options.outWidth;
- int inSampleSize = 1;
- if (height > reqHeight || width > reqWidth) {
- final int halfHeight = height / 2;
- final int halfWidth = width / 2;
- // Calculate the largest inSampleSize value that is a power of 2 and keeps both
- // height and width larger than the requested height and width.
- while ((halfHeight / inSampleSize) > reqHeight
- && (halfWidth / inSampleSize) > reqWidth) {
- inSampleSize *= 2;
- }
- }
- return inSampleSize;
- }
- public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId,
- int reqWidth, int reqHeight) {
- // First decode with inJustDecodeBounds=true to check dimensions
- final BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeResource(res, resId, options);
- // Calculate inSampleSize
- options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
- // Decode bitmap with inSampleSize set
- options.inJustDecodeBounds = false;
- return BitmapFactory.decodeResource(res, resId, options);
- }
- final BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- /*
- * If set to a value > 1, requests the decoder to
- * subsample the original image, returning a smaller
- * image to save memory. The sample size is the
- * number of pixels in either dimension that
- * correspond to a single pixel in the decoded
- * bitmap. For example, inSampleSize == 4 returns an
- * image that is 1/4 the width/height of the
- * original, and 1/16 the number of pixels. Any
- * value <= 1 is treated the same as 1. Note: the
- * decoder uses a final value based on powers of 2,
- * any other value will be rounded down to the
- * nearest power of 2.
- */
- options.inSampleSize = 2;
- // Decode bitmap with inSampleSize set
- options.inJustDecodeBounds = false;
- bitmap = BitmapFactory.decodeFile(path, options);
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
- int imageHeight = options.outHeight;
- int imageWidth = options.outWidth;
- String imageType = options.outMimeType;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement