图片比例缩放以及bitMap转BitmapDrawable
import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.view.ViewGroup.LayoutParams;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ImageView.ScaleType;/** * This example shows how to resize an image * @author FaYnaSoft Labs * */public class Main extends Activity {@Overridepublic void onCreate(Bundle icicle) {super.onCreate(icicle);LinearLayout linearLayout = new LinearLayout(this);Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);int width = bitmap.getWidth();int height = bitmap.getHeight();int newWidth = 640;int newHeight = 480;float scaleWidth = ((float) newWidth) / width;float scaleHeight = ((float) newHeight) / height;Matrix matrix = new Matrix();matrix.postScale(scaleWidth, scaleHeight);// create the new Bitmap objectBitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, width,height, matrix, true);BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);ImageView imageView = new ImageView(this);imageView.setImageDrawable(bmd);imageView.setScaleType(ScaleType.CENTER);linearLayout.addView(imageView, new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));setContentView(linearLayout);}}
?