float []pts={10,10,100, 100, 200, 200,400,400};
canvas.drawLines(pts, 2,4,paint); //表示从pts 数组中索引为2的数字开始绘图,有4个数值参与绘图,也就是点(100,100)和(200,200),所以效果图就是这两个点的连线。
[](()基本语法
void drawLines(float[] pts,Paint paint)
void drawLines(float [ ] pts,int offset, int count,Paint paint)
[](()参数说明
pts:点的集合,pts的组织方式为{x1,y1,x2,y2,x3,y3,…}。
offset:集合中跳过的数值个数。注意不是点的个数!一个点有两个数值。
count:参与绘制的数值个数,指pts数组中数值的个数,而不是点的个数,因为一个点有两个数值。
paint:绘制时所使用的画笔。
[](()4.画点
=======================================================================
[](()单个点
//画笔
Paint paint=new Paint() ;
paint.setColor(OxFFFFOOOO );
paint.setStrokeWidth(50);
//画布(画点)
canvas.drawPoint(100, 100, paint);
[](()基本语法
void drawPoint(float x, float y, Paint paint)
[](()参数说明
x:点的X坐标。
y:点的Y坐标。
paint:绘制时所使用的画笔。
[](()多个点
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStrokeWidth(25);
float[] pts = {10,10,100,100,200,200,400,400};
canvas.drawPoints(pts, 2, 4, paint); //4个点:(10,10)、(100,100)、(200,200)和(400,400),在 drawPoints()函数里跳过前两个数值,即第一个点的横、纵坐标,画出后面4个数值代表的点,即第二、三个点,第四个点没画。
[](()基本语法
void drawPoints (float [] pts,Paint paint)
void drawPoints(float[ ] pts,int offset,int count,Paint paint)
[](()参数说明
pts:点的合集,与上面的直线一致,样式为{x1,y1,x2,y2,x3,y3,…}。
offset:集合中跳过的数值个数。注意不是点的个数!一个点有两个数值。
count:参与绘制的数值个数,指pts数组中数值的个数,而不是点的个数。
paint:绘制时所使用的画笔。
[](()5.画矩形
========================================================================
[](()区别:
RectF 所保存的数值类型是 float 类型
Rect 所保存的数值类型是 int 类型
[](()构造矩形的两种方法:
//方法一 直接构造
Rect rect = new Rect(10, 10, 100, 100);
//方法二 间接构造
Rect rect = new Rect();
rect.set(10, 10, 100, 100);
[](()绘制矩形:
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(15);
//直接构造
canvas.drawRect(10, 10, 100, 100, paint);
//使用 RectF 构造
RectF rect = new RectF(210f, 10f, 300f, 100f);
canvas.drawRe 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》无偿开源 徽信搜索公众号【编程进阶路】 ct(rect, paint);
[](()6.画圆角矩形
==========================================================================
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Style.FILL);
paint.setStrokeWidth(15);
RectF rect = new RectF(100,10,300,100);
canvas.drawRoundRect(rect,20,10, paint);
[](()基本语法
void drawRoundRect (RectF rect, float rx, float ry,Paint paint)
[](()参数说明
rect:要绘制的矩形。
rx:生成圆角的椭圆的X轴半径。
ry:生成圆角的椭圆的Y轴半径。
paint:绘制时所使用的画笔。
[](()7.画椭圆
========================================================================
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(5);
RectF rect = new RectF(100,10,300,100);
canvas.drawRect(rect, paint);
canvas.drawOval(rect, paint);//根据同一个矩形画椭圆
[](()基本语法
void drawOval(RectF oval, Paint paint)
[](()参数说明
oval:用来生成椭圆的矩形。
本文详细介绍了Android应用中如何使用Canvas API进行基本图形绘制,包括使用`drawLines`绘制直线,`drawPoint`和`drawPoints`画点,以及`drawRect`和`drawRoundRect`绘制矩形和圆角矩形。还探讨了不同形状的创建方法和参数含义。
643

被折叠的 条评论
为什么被折叠?



