Path
可以通过drawPath()
绘制自定义图像。
直接绘制路径
addCircle
Path path = new Path();
path.addCircle(300, 300, 200, Path.Direction.CW);
canvas.drawPath(path, paint);
//等价于canvas.drawCircle()
lineTo / rLineTo
lineTo(x, y)
:绝对位置rLineTo(x, y)
:相对位置
Path path = new Path();
paint.setStyle(Paint.Style.STROKE);
path.lineTo(100, 100);//从当前位置(0,0)向(100,100)画线
path.rLineTo(100,0);//从当前位置(100,100)向右方100像素画线
canvas.drawPath(path, paint);
moveTo / rMoveTo
可以通过moveTo()
和rMoveTo()
修改当前位置,可以间接修改起点
path.moveTo(200,200);
path.lineTo(400,200);
arcTo
绘制弧线
path.arcTo(100, 300, 300, 500, -90, 90, true);
addArc
简化板arcTo()
path.addArc(100, 100, 300, 300, -90, 90);
close
图像闭合
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setStyle(Paint.Style.STROKE);
Path path = new Path();
path.moveTo(100, 100);
path.lineTo(200, 100);
path.lineTo(200, 200);
path.close();
canvas.drawPath(path, paint);
绘制心形
Path path = new Path();
path.addArc(200, 200, 400, 400, -225, 225);
path.arcTo(400, 200, 600, 400, -180, 225, false);
path.lineTo(400, 542);
canvas.drawPath(path, paint); //绘制心形