matrix使用:平移
android绘图中使用的矩阵是3x3的结构。
矩阵元素的功能:
先挑与平移有关的看。观察矩阵元素功能可知,如果绘制的图形平移到[x, y], 则只需要修改矩阵右上角的2个元素就可以了。
编写一个继承了view的TransView来验证,以下是onDraw()方法。
@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);Paint paint = new Paint();paint.setColor(Color.RED);//在点(50,50)绘制半径为5的红色正圆canvas.drawCircle(50, 50, 5, paint);//在点(200,200)绘制半径为15的红色正圆canvas.drawCircle(200, 200, 15, paint);Matrix matrix = new Matrix();//与 matrix.setTranslate(200, 200)等价{float[] values = {1, 0, 200, 0, 1, 200, 0, 0, 1};matrix.setValues(values);}Log.i("TransView", "" + matrix.toString());canvas.save();//画布在x轴移动200,y轴移动200后绘制半径为10的黑色正圆canvas.setMatrix(matrix);paint.setColor(Color.BLACK);canvas.drawCircle(0, 0, 10, paint);canvas.restore();}