1.canvas的save()和restore()
2.canvas的rotate()
(1)rotate(90)
这个方法是针对于x和y坐标的(0,0)点的,x和y轴是会跟着旋转
(2)rotate(90,x,y)
这个方法是绕x,y点旋转的,x、y轴也会跟着旋转
rotate旋转的是坐标系,影响的是以后的绘画逻辑,已有的内容并不会跟随旋转
3.canvas的drawArc
【基本语法】public void drawArc (RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)
参数说明
oval:圆弧所在的椭圆对象。(所在的椭圆或者圆要跟oval内切)
startAngle:圆弧的起始角度。
sweepAngle:圆弧的角度。
useCenter:是否显示半径连线,true表示显示圆弧与圆心的半径连线,false表示不显示。
paint:绘制时所使用的画笔。
【实例演示】下面通过代码来演示如何在画布上绘制圆弧。
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
paint.setAntiAlias(true); //设置画笔为无锯齿
paint.setColor(Color.BLACK); //设置画笔颜色
canvas.drawColor(Color.WHITE); //白色背景
paint.setStrokeWidth((float) 3.0); //线宽
paint.setStyle(Style.STROKE);
RectF oval=new RectF(); //RectF对象
oval.left=100; //左边
oval.top=100; //上边
oval.right=400; //右边
oval.bottom=300; //下边
canvas.drawArc(oval, 225, 90, false, paint); //绘制圆弧
//RectF oval=new RectF(); //RectF对象
oval.left=100; //左边
oval.top=400; //上边
oval.right=400; //右边
oval.bottom=700; //下边
canvas.drawArc(oval, 200, 135, true, paint); //绘制圆弧
}