Bitmap.createBitmap几个参数的理解、

来源:互联网 发布:mac os 10.11还是10.9 编辑:程序博客网 时间:2024/05/22 04:36

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

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

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

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

BitmapmatrixBitmap=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);








1 0
原创粉丝点击