Mega Code Archive

 
Categories / Android / 2D Graphics
 

Simply resizes a given drawable resource to the given width and height

//package com.retain; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URI; import java.net.URISyntaxException; import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.channels.FileChannel; import java.nio.charset.Charset; import java.util.Date; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.util.Log; import android.widget.ImageView; import android.widget.Toast; /**  * @author Nazmul Idris  * @version 1.0  * @since Jul 8, 2008, 2:35:39 PM  */ class AppUtils {   /** simply resizes a given drawable resource to the given width and height */   public static Drawable resizeImage(Context ctx, int resId, int iconWidth,       int iconHeight) {     // load the origial Bitmap     Bitmap BitmapOrg = BitmapFactory.decodeResource(ctx.getResources(),         resId);     int width = BitmapOrg.getWidth();     int height = BitmapOrg.getHeight();     int newWidth = iconWidth;     int newHeight = iconHeight;     // calculate the scale     float scaleWidth = ((float) newWidth) / width;     float scaleHeight = ((float) newHeight) / height;     // create a matrix for the manipulation     Matrix matrix = new Matrix();     // resize the Bitmap     matrix.postScale(scaleWidth, scaleHeight);     // if you want to rotate the Bitmap     // matrix.postRotate(45);     // recreate the new Bitmap     Bitmap resizedBitmap = Bitmap.createBitmap(BitmapOrg, 0, 0, width,         height, matrix, true);     // make a Drawable from Bitmap to allow to set the Bitmap     // to the ImageView, ImageButton or what ever     return new BitmapDrawable(resizedBitmap);   } }// end class AppUtils