在Android中实现图片缩放和旋转


在Android中实现图片缩放和旋转

  1. btn.setOnClickListener(new View.OnClickListener() {  
  2.   
  3.               
  4.             @Override  
  5.             public void onClick(View v) {  
  6.                 i = ++i;              
  7.                 ImageView view = (ImageView)findViewById(R.id.imgView);   
  8.                // 1、首先加载要操作的图片   
  9.                 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.aa);  
  10.                 //2、得到以上加载图片的高度跟宽度   
  11.                 int height = bitmap.getHeight();   
  12.                 int width = bitmap.getWidth();  
  13.                 //3、定义要缩放成最终的图片高度跟宽度   
  14.                 int nHeight = 150;   
  15.                 int nWidth = 180;  
  16.                 //4、计算缩放比例   
  17.                 float scaleWidth = ((float) nWidth)/width;   
  18.                 float scaleHeight = ((float) nHeight)/height;  
  19.                 //5、创建Matrix对象 Matrix是在Android中用于操作图像的类   
  20.                 Matrix matrix = new Matrix();  
  21.                 //6、使用Matrix对象跟缩放比例实现缩放图片   
  22.                 matrix.postScale(scaleWidth, scaleHeight);  
  23.                //同样的,图片旋转只需要通过Matrix改变图片角度即可,生成图片跟7相同。   
  24.                 Log.i("chens""======i======"+i);  
  25.                 if (i % 2 ==0 ) {  
  26.                     matrix.postRotate(60);  
  27.                 }else {  
  28.                     matrix.postRotate(0);  
  29.                 }  
  30.                   
  31.                 //7、生成缩放后的图片   
  32.                 Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 00,width, height, matrix, true);  
  33.                 view.setImageBitmap(resizedBitmap);  
  34.                  
  35.             }  
  36.         });  

相关内容