打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
android 实现图片的旋转 - 翛莜的日志 - 网易博客
userphoto

2010.11.05

关注


public class ex04_22 extends Activity{
  
 private ImageView mImageView;
 private Button btn1,btn2;
 private TextView mTextView;
 private AbsoluteLayout layout1;
 private int ScaleTimes=1,ScaleAngle=1;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mImageView=(ImageView)findViewById(R.id.myImageView);
        final Bitmap bmp=BitmapFactory.decodeResource(this.getResources(),R.drawable.ex04_22_1);
        final int widthOrig=bmp.getWidth();
        final int heightOrig=bmp.getHeight();
        mImageView.setImageBitmap(bmp);
        btn1=(Button)findViewById(R.id.myButton1);
        btn1.setOnClickListener(new OnClickListener(){
         public void onClick(View v){
          ScaleAngle--;
          if(ScaleAngle<-60){
           ScaleAngle=-60;
          }
          int newWidth=widthOrig*ScaleTimes;
          int newHeight=heightOrig*ScaleTimes;
          float scaleWidth=((float)newWidth)/widthOrig;
          float scaleHeight=((float)newHeight)/heightOrig;
          Matrix matrix=new Matrix();
          matrix.postScale(scaleWidth, scaleHeight);
          matrix.setRotate(5*ScaleAngle);
          Bitmap resizeBitmap=Bitmap.createBitmap(bmp, 0, 0, widthOrig, heightOrig, matrix, true);
          BitmapDrawable myNewBitmapDrawable=new BitmapDrawable(resizeBitmap);
          mImageView.setImageDrawable(myNewBitmapDrawable);
         }
        });
        btn2=(Button)findViewById(R.id.myButton2);
        btn2.setOnClickListener(new OnClickListener(){
         public void onClick(View v){
          ScaleAngle++;
          if(ScaleAngle>60){
           ScaleAngle=60;
          }
          int newWidth=widthOrig*ScaleTimes;
          int newHeight=heightOrig*ScaleTimes;
          float scaleWidth=((float)newWidth)/widthOrig;
          float scaleHeight=((float)newHeight)/heightOrig;
          Matrix matrix=new Matrix();
          matrix.postScale(scaleWidth, scaleHeight);
          matrix.setRotate(5*ScaleAngle);
          Bitmap resizeBitmap=Bitmap.createBitmap(bmp, 0, 0, widthOrig, heightOrig, matrix, true);
          BitmapDrawable myNewBitmapDrawable=new BitmapDrawable(resizeBitmap);
          mImageView.setImageDrawable(myNewBitmapDrawable);
         }
        });
    }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Android例子
30种图像动画特效算法(C#多线程版)(上)
android 大图片拖拽并缩放实现原理
flash as3.0 像素级的碰撞检测
Android Bitmap和Canvas笔记
Android用摄像头的那点破事(续) | eyeHere
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服