缩放图片 : matrix.setScale(0.5f,0.5f);

public   class   MainActivity   extends   Activity   implements   OnClickListener {

       private   Button    bt ;
       private   ImageView    iv ;
       private   ImageView    iv_after ;
      
       @Override
       protected   void   onCreate(Bundle savedInstanceState) {
               super .onCreate(savedInstanceState);
            setContentView(R.layout.   activity_main );
            
               iv =(ImageView) findViewById(R.id.   iv );
               bt =(Button) findViewById(R.id.   bt );
               iv_after =(ImageView) findViewById(R.id.   iv_after );
            
            
               bt .setOnClickListener(   this );
            
      }

      
      
       /**
       * 获取图片的方法
       *   @param   v
       */
       @Override
       public   void   onClick(View v) {
            
               //创建隐式意图
        Intent intent=   new   Intent();
        intent.setAction(   "android.intent.action.PICK" );
        intent.addCategory(intent.   CATEGORY_DEFAULT );
        intent.setType(   "image/*" );
       
        startActivityForResult(intent, 0);
    }
      
      
      
       /**
     * 获取Activity返回的数据
     */
      @Override
      protected   void   onActivityResult(   int   requestCode,   int   resultCode, Intent data) {
             super .onActivityResult(requestCode, resultCode, data);
         
          Uri uri = data.getData();     //接收到返回照片的 uri
            iv .setImageURI(uri);  
         
            try   {
               
               //得到原图的bitmap   只读(要从这个bitmap读取像素点到其他的空白bitmap上)
                  Bitmap  bitmap=BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));
                  
                     //创建一个空白可修改的bitmap   b1
                  Bitmap  alertBitmap=Bitmap.createBitmap(bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getConfig());
                  
                     //将空白可修改的bitmap作为画布    b2
                  Canvas  canvas=   new   Canvas(alertBitmap);
                  
                     //创建画笔
                  Paint  paint=   new   Paint();
                  paint.setColor(Color.   GREEN );
                  
                     //在画布上画原图片的像素点
                Matrix matrix =   new   Matrix();
                matrix.setScale(0.5f,0.5f);     //设置x,y方向的缩放比   
                canvas.drawBitmap(bitmap, matrix, paint);     //1.原图  2.矩阵   3.画笔
                  
                  //将画好的b2挂在iv上
                  iv_after .setImageBitmap(alertBitmap);
                  
            }   catch   (Exception e) {
                  
                  e.printStackTrace();
            }
          
          
    }

}

你可能感兴趣的:(android基础笔记)