Back to project page Android-CriminalIntent.
The source code is released under:
MIT License
If you think the Android project Android-CriminalIntent listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.bignerdranch.android.criminalintent; /*from w w w . j a v a2 s. c om*/ import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.graphics.drawable.BitmapDrawable; import android.view.Display; import android.widget.ImageView; /** * Utilities for scaling Photos * Created by mweekes on 1/4/14. */ public class PictureUtils { /** * Get a BitmapDrawable from a local file that is scaled down to fit the current Window size. */ @SuppressWarnings("deprecation") public static BitmapDrawable getScaledDrawable(Activity activity, String path) { Display display = activity.getWindowManager().getDefaultDisplay(); float destWidth = display.getWidth(); float destHeight = display.getHeight(); // Read in the dimensions of the image from storage BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(path, options); float srcWidth = options.outWidth; float srcHeight = options.outHeight; int inSampleSize = 1; if (srcHeight > destHeight || srcWidth > destWidth) { if (srcWidth > srcHeight) { inSampleSize = Math.round(srcHeight / destHeight); } else { inSampleSize = Math.round(srcWidth / destWidth); } } options = new BitmapFactory.Options(); options.inSampleSize = inSampleSize; Bitmap bitmap = BitmapFactory.decodeFile(path, options); return new BitmapDrawable(activity.getResources(), bitmap); } public static void cleanImageView(ImageView imageView) { if (!(imageView.getDrawable() instanceof BitmapDrawable)) { return; } // Clean up the view's image for the sake of memory BitmapDrawable bitmapDrawable = (BitmapDrawable) imageView.getDrawable(); bitmapDrawable.getBitmap().recycle(); imageView.setImageDrawable(null); } public static BitmapDrawable getPortraitDrawable(ImageView view, BitmapDrawable image) { Matrix matrix = new Matrix(); matrix.postRotate(90); Bitmap bitmap = Bitmap.createBitmap( image.getBitmap(), 0, 0, image.getIntrinsicWidth(), image.getIntrinsicHeight(), matrix, true); BitmapDrawable rotatedImage = new BitmapDrawable(view.getResources(), bitmap); return rotatedImage; } }