Canvas----绘制常用的基本图形
来源:互联网 发布:sql查询多字段重复 编辑:程序博客网 时间:2024/05/23 10:33
1.绘制圆形
public void drawCircle(float cx, float cy, float radius, Paint paint)
参数分别为:圆心x坐标、圆心y坐标、半径、绘制的画笔。
public void initPaint() { mPaint=new Paint(); mPaint.setColor(Color.RED); mPaint.setAntiAlias(true); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeWidth(3); mPaint.setTextSize(50); }
canvas.drawCircle(200,200,200,mPaint);
2.绘制线条
单条线条:起点x坐标、起点y坐标、终点x坐标、终点y坐标、绘图画笔
多条线条:点坐标数组、(偏移量、取值数目(4的倍数))、绘图画笔
public void drawLine(float startX, float startY, float stopX, float stopY,Paint paint)public void drawLines(float[] pts, int offset, int count,Paint paint)public void drawLines(float[] pts, Paint paint)
//绘制线条 canvas.drawLine(0,1000,300,1000,mPaint); float []pots={0,1050,300,1050,300,1050,300,1300}; canvas.drawLines(pots,mPaint); canvas.drawLines(pots,0,4,mPaint);
3.绘制弧线
方法一:API21以及以上才可以使用 绘制区域的左上右下坐标、起始度数、是否需要中心连线、绘图画笔
方法二:提供一个绘制弧线的矩形、起始度数、是否需要中心连线、绘制画笔
public void drawArc(float left, float top, float right, float bottom, float startAngle,float sweepAngle, boolean useCenter,Paint paint)public void drawArc(RectF rectF, float startAngle,float sweepAngle, boolean useCenter,Paint paint)
//绘制弧线 绘制弧线的区域、开始的角度、扫描的角度、是否useCenter、绘制的画笔 RectF rectF=new RectF(0,550,300,700); canvas.drawArc(rectF,0,360,true,mPaint); //canvas.drawArc(0,550,300,700,0,360,true,mPaint); API大于等于21时,使用
4.绘制矩形
绘制矩形提供了四种方法:
public Rect(Rect r)public Rect()public Rect(RectF rectF)public Rect(float left,float top,float right,float bottom)
//绘制矩形 canvas.drawRect(500,500,1000,700,mPaint); Rect rect=new Rect(50,50,400,200); canvas.drawRect(rect,mPaint); RectF rectF2=new RectF(500,800,1000,1000); canvas.drawRect(rectF2,mPaint); //绘制圆角矩形 //canvas.drawRoundRect(1600,1300,1800,1400,25,25,mPaint); //API大于等于21时候,使用 RectF rectF3=new RectF(50,800,650,1100); canvas.drawRoundRect(rectF3,25,25,mPaint);
5.绘制圆角矩形
public void drawRoundRect(RectF rect, float rx, float ry, Paint paint) public void drawRoundRect(float left,float top,float right,float bottom,float rx,float ry,Paint paint)
//canvas.drawRoundRect(1600,1300,1800,1400,25,25,mPaint); //API大于等于21时候,使用 RectF rectF3=new RectF(50,800,650,1100); canvas.drawRoundRect(rectF3,25,25,mPaint);
6.绘制点
绘制点有三个方法,和绘制直线的方法有点像,数组 提供的值必须是2的倍数。
public void drawPoint(float x, float y,Paint paint)public void drawPoints(float[] pts,Paint paint)public void drawPoints(float[] pts, int offset, int count,Paint paint)
canvas.drawPoint(50,50,mPaint); float []points={50,100,100,100,150,100,200,100,250,100,300,100}; canvas.drawPoints(points,mPaint); float []points2={50,150,100,150,150,150,200,150,250,150,300,150}; canvas.drawPoints(points2,0,6,mPaint);
阅读全文
0 0
- Canvas----绘制常用的基本图形
- canvas绘制基本图形
- html5 canvas基本图形绘制
- HTML5 绘制图形 Canvas 与 SVG 的基本用法
- Canvas基础图形的绘制
- Canvas绘图——使用Canvas绘制图形的基本教程
- 基本图形的绘制
- 基本的图形绘制
- 使用 HTML5 canvas 绘制精美的图形
- 使用 HTML5 canvas 绘制精美的图形
- Android(小画板) Canvas中绘制基本图形时的小结
- Android Canvas 图形绘制
- canvas 绘制图形1
- canvas 绘制图形2
- Canvas绘制图形
- canvas绘制图形
- canvas绘制图形
- Canvas绘制基础图形
- Unity入门操作_刚体 _012
- 动态规划之换零钱
- background以及float
- linux初学者-iptables篇
- (基础篇)数组函数详解
- Canvas----绘制常用的基本图形
- 数据结构 之 树状数组
- 熊不是一般的熊—自我养成记
- PTAM算法流程介绍
- 2017 ccpc网络赛 1001 Vertex Cover(二分图 构造)HDU6150
- Android中Context,Intent,Bundle
- IntelliJ IDEA的安装,配置Tomcat部署及创建JavaWeb工程
- gdfzoj #785 买水果(树上dp)
- Git & GitLab 使用及规范