绘制Bitmap利用Matrix可以将Bitmap拉伸、平移、翻转、对称操作
1.首先是拉伸:需要调用Matrix.postScale()方法,第一个参数是沿x轴拉伸的倍数,第二个参数是沿y轴拉伸的倍数
2.平移:Matrix.postTranslate(),一个参数是沿x轴平移距离,第二个参数是沿y轴平移距离
3.旋转:Matrix.postRotate(),里面传入旋转角度
4.沿x轴对称,倒影效果: 首先是设置矩阵的值float matrix_values[]={1f,0f,0f,0f,-1f,0f,0f,0f,1f};然后Matrix.setValues(matrix_values);最后在绘制
5.沿y轴对称:首先是设置矩阵的值 float matrix_values[]={-1f,0f,0f,0f,1f,0f,0f,0f,1f};然后Matrix.setValues(matrix_values);最后在绘制
代码实现
public class BitmapView extends View {
private int width;
private int heigth;
private Bitmap mBitmap;
private Paint mPaint;
private Matrix matrix;
private int mBitmapWidth;
private int mBitmapHeight;
public BitmapView(Context context) {
super(context);
}
public BitmapView(Context context, AttributeSet attrs) {
super(context, attrs);
mBitmap= BitmapFactory.decodeResource(getResources(), R.mipmap.wei);
mPaint=new Paint();
matrix=new Matrix();
mBitmapWidth=mBitmap.getWidth();
mBitmapHeight=mBitmap.getHeight();
}
@Override