Bitmap.createBitmap几个参数的理解、

bitmap以X,Y坐标(左上角)为起点,而宽与高则是widthheight(右下角 )开始截图

Bitmap viewBitmap=bitmap.createBitmap(bitmap,x,y,width,height);

注意:必须x+width要小于或等于bitmap.getWidth(),y+height要小于或等于bitmap.getHeight() 

同理:Bitmap 通过matrix 矩阵变换生成新的Bitmap   以下两个缩放的例子

Bitmap matrixBitmap=bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(),  
              matrix, true);

  //缩放的方式一
  private void testScale1() {
    Matrix matrix = new Matrix();
    matrix.setScale(0.5f, 0.5f);
    mImageView.setImageMatrix(matrix);
  }
  
  //缩放的方式二
  private void testScale2(Bitmap bitmap) {
    Matrix matrix = new Matrix();
    int width =bitmap.getWidth();
    int height = bitmap.getHeight();
    matrix.setScale(0.5f, 0.5f);
    mNewBitmap=Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, false);
    mImageView.setImageBitmap(mNewBitmap);
  }

基于坐标(px,py)进行按照(sx,sy)比例进行放缩    postScale(float sx, float sy, float px, float py)
       matrix.postScale(1.5f, 1.5f,viewWidth / 2, viewHeight/2);








你可能感兴趣的:(Bitmap.createBitmap几个参数的理解、)