系统通过提供的Canvas对象和Paint对象来提供绘图方法。
Paint方法:
- setAntiAlias() 设置画笔的锯齿效果
- setColor() 设置画笔的颜色
- setARGB() 设置画笔的A,R,G,B值
- setAlpha() 设置画笔的透明度(0-255,越大越不透明)
- setTextSize() 设置画笔的字体大小
- setStyle() 设置画笔的风格(实心或者空心)
- setStrokeWidth() 设置画笔的空心边框的宽度
Canvas方法:
1 2
| //画点 canvas.drawPoint(500,500,mPaint);
|
1 2
| //画线 canvas.drawLine(450,450,700,700,mPaint);
|
1 2 3
| //画多条线 float[] floats = new float[]{20,30,40,50,60,70,80,90}; canvas.drawLines(floats,mPaint);
|
1 2
| //绘制矩形 canvas.drawRect(200,200,300,300,mPaint);
|
1 2
| //绘制圆角矩形 canvas.drawRoundRect(100,100,200,200,10,10,mPaint);
|
1 2
| //画圆形 canvas.drawCircle(250,250,100,mPaint);
|
1 2 3 4 5 6 7 8 9 10 11
| //绘制弧度 float x = (getWidth() - 400)/2; float y = (getHeight() -400)/2;
RectF rec = new RectF(x, y,x+400,y+400);
canvas.drawArc(rec,360,180,true,mPaint); canvas.drawRect(rec, mPaint);//画矩形
canvas.drawArc(x,y+400,x+700,y+800,360,180,true,mPaint); canvas.drawRect(x,y+400,x+700,y+800, mPaint);//画矩形
|
public void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)
- oval :指定圆弧的外轮廓矩形区域(以这个矩形的中心点为中心点绘制圆弧)。
- startAngle: 圆弧起始角度,单位为度,以X轴为基准,顺时针方向为正角度方向。
- sweepAngle: 圆弧扫过的角度,顺时针方向,单位为度,从右中间开始为零度。
- useCenter: 如果为True时,在绘制圆弧时将圆心包括在内,通常用来绘制扇形。关键是这个变量
- paint: 绘制圆弧的画板属性,如颜色,是否填充等。
1 2 3 4
| //绘制文字 mPaint.setStrokeWidth(1); mPaint.setTextSize(50); canvas.drawText("Android",100,100,mPaint);
|
drawText(text, x, y, paint)
y所代表的是基线的位置
1 2
| //连续绘制文字 canvas.drawPosText("And",new float[]{200,200,300,300,400,400},mPaint);
|
截取“And”,分别进行显示。
1 2 3 4 5 6 7 8 9
| //绘制路径 Path path = new Path();
path.moveTo(100, 100); path.lineTo(200, 150); path.lineTo(250, 300); path.lineTo(400, 900);
canvas.drawPath(path,mPaint);
|
代码效果图
示例代码:CanvasAndPaint.java
参考链接:
drawArc()参数问题
Android 画圆弧canvas.drawArc() 详解
自定义控件之绘图篇( 五):drawText()详解
Android Canvas 方法总结
canvas变换
上一篇:Canvas方法进一步学习
下一篇:LayerDrawable