系统通过Canvas 对象来提供各种绘图方法,有绘制 点 ,线,长方形,圆,扇形,文字等... 、
通过字面意思Canvas是画布的意思,那么画布有,还缺了画笔---Paint,有了画布,画笔,那么就可以开始画图了!
Paint 可以直接new出来,并设置一些属性
mPaint = new Paint(); // 创建画笔
mPaint.setAntiAlias(true); // 设置是否带有锯齿
mPaint.setColor(Color.GRAY); // 设置带有颜色
mPaint.setARGB(200, 1000, 100, 100); // 设置 ARGB 透明度 三原色 大小 A 0~255 三原色 0~255
// mPaint.setAlpha(100); // 透明度
这样画笔就创建好了,还有一些属性能用到再设置。
画布 我们可以直接重写 onDraw();方法拿到。
1.绘制直线
canvas.drawLine(200, 200, 300, 300, mPaint); // 线
float [] pts = {400,200,500,300,
500,300,400,500,
400,500,500,700};
canvas.drawLines(pts, mPaint); // 绘制多条直线
2.绘制矩形 ,在绘制矩形时,可以设置Style 是否空心
mPaint.setStyle(Paint.Style.FILL); // 实心
mPaint.setStyle(Paint.Style.STROKE); // 空心
canvas.drawRect(10, 10, 100, 100, mPaint); //矩形
RectF rect = new RectF(500, 500, 800, 800);
mPaint.setStyle(Paint.Style.STROKE); // 空心
<span style="white-space:pre"> </span>mPaint.setStrokeWidth(2);
<span style="white-space:pre"> </span>canvas.drawRoundRect(rect, 50, 50, mPaint);
3.绘制扇形 扇形有四种形式 空心,实心(通过设置mPaint.setStyle(Paint.Style.FILL); // 实心),useCenter是否为true(是否设置边界线)
canvas.drawArc(600, 600, 700, 700, 30, 100, true, mPaint); // 扇形
canvas.drawArc(600, 600, 700, 700, 30, 100, false, mPaint); // 扇形
4.绘制文字 在绘制文字是要设置文字大小
mPaint.setTextSize(40);
canvas.drawText("ANDROID", 0, 600, mPaint); // 绘制文字
Path path = new Path(); //根据路径绘制
path.moveTo(0,200);
path.lineTo(100, 300);
path.lineTo(150, 500);
path.close();
canvas.drawTextOnPath("ANDROID",path,10,10,mPaint); // 根据路径绘制文字
5.通过外接矩形来绘制椭圆
canvas.drawOval(0,600,200,800,mPaint);