Android实现图片的缩放翻转功能 .转
from http://topmanopensource.javaeye.com/blog/674727
package com.easyway.andorid.hello; 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.widget.ImageView; import android.widget.LinearLayout; import android.widget.ImageView.ScaleType; import android.widget.LinearLayout.LayoutParams; /** * Android实现图片的缩放功能 * @author longgangbai * @date 2010-5-24 * @version 1.0 * @since JDK6.0 */ public class ImageViewAndorid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置程序的标题 setTitle("缩放和旋转图片"); //实例化LinearLayout类的对象lly LinearLayout lly=new LinearLayout(this); //获取图片的信息 这里用的是icon.png ,图片存放的位置在res/drawable下, //同时这里还方有itfunz.bmp,这就是应用程序的图标 Bitmap bmpOrg=BitmapFactory.decodeResource(getResources(), R.drawable.icon); //获取图片的原始的大小 int width=bmpOrg.getWidth(); int height=bmpOrg.getHeight(); int newWidth=400; int newheight=400; //定义缩放的高和宽的尺寸 float sw=((float)newWidth)/width; float sh=((float)newheight)/height; //创建操作图片的用的Matrix对象 Matrix matrix=new Matrix(); matrix.postScale(sw,sh); //缩放图片的动作 matrix.postRotate(30); //旋转30* Bitmap resizeBitmap=Bitmap.createBitmap(bmpOrg,0,0,width,height,matrix,true); //创建一个新的图片 BitmapDrawable bmp=new BitmapDrawable(resizeBitmap); //创建Bitmap转换为Drawable对象,使其可以使用在ImageView和ImageButton中 ImageView imageView=new ImageView(this); //创建ImageView的对象 imageView.setImageDrawable(bmp); //将图片设置到中间 imageView.setScaleType(ScaleType.CENTER); //将图片填充之整个视图 lly.addView(imageView, new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); //添加ImageView到布局模板中 setContentView(lly); } }