android 图片缩放

图片缩放

packagecom.eoeandroid.demo.testcode;

importandroid.app.Activity;

importandroid.graphics.Bitmap;

importandroid.graphics.BitmapFactory;

importandroid.graphics.Matrix;

importandroid.graphics.drawable.BitmapDrawable;

importandroid.os.Bundle;

importandroid.view.ViewGroup.LayoutParams;

importandroid.widget.ImageView;

importandroid.widget.LinearLayout;

importandroid.widget.ImageView.ScaleType;

publicclassbitmaptestextendsActivity{

publicvoidonCreate(Bundleicicle){

super.onCreate(icicle);

setTitle("eoeAndroid教程:缩放和旋转图片-by:IceskYsl");

LinearLayoutlinLayout=newLinearLayout(this);

//加载需要操作的图片,这里是eoeAndroid的logo图片

BitmapbitmapOrg=BitmapFactory.decodeResource(getResources(),

R.drawable.eoe_android);

//获取这个图片的宽和高

intwidth=bitmapOrg.getWidth();

intheight=bitmapOrg.getHeight();

//定义预转换成的图片的宽度和高度

intnewWidth=200;

intnewHeight=200;

//计算缩放率,新尺寸除原始尺寸

floatscaleWidth=((float)newWidth)/width;

floatscaleHeight=((float)newHeight)/height;

//创建操作图片用的matrix对象

Matrixmatrix=newMatrix();

//缩放图片动作

matrix.postScale(scaleWidth,scaleHeight);

//旋转图片动作

matrix.postRotate(45);

//创建新的图片

BitmapresizedBitmap=Bitmap.createBitmap(bitmapOrg,0,0,

width,height,matrix,true);

//将上面创建的Bitmap转换成Drawable对象,使得其可以使用在ImageView,ImageButton中

BitmapDrawablebmd=newBitmapDrawable(resizedBitmap);

//创建一个ImageView

ImageViewimageView=newImageView(this);

//设置ImageView的图片为上面转换的图片

imageView.setImageDrawable(bmd);

//将图片居中显示

imageView.setScaleType(ScaleType.CENTER);

//将ImageView添加到布局模板中

linLayout.addView(imageView,

newLinearLayout.LayoutParams(

LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT

)

);

//设置为本activity的模板

setContentView(linLayout);

}

}

相关推荐