View绘图之Path怎么使用


这篇文章主要讲解了“View绘图之Path怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“View绘图之Path怎么使用”吧!path类是一个非常有用的类,他可以预先在view上讲N个点连成一条“路径”,然后调用Canvas的drawPath(path,paint)即可沿着路径绘制图形,并且Android还为路径提供了pathEffect来绘制效果,pathEffect包含了如下子类
-ComposePathEffect
-ComnerPathEffect
-DashPathEffect
-DiscretePathEffect
-PathDashPathEffect
-SunPathEffect代码如下 运行效果这里就不在介绍没个子类的属性了,代码很简单,步骤如下:1、创建一个类继承view2、定义一个线集合,用来添加我们绘制的7跳线,通过一个for循环依次绘制3、上面代码中,在注释中前四步是准备工作,创建画笔、设置画布颜色、设定转折点的数量及每条线的颜色4、引用子类对象 ,来为每条线添加不同的属性。5、进行绘制,并且设置偏移量加1,并且设置重绘方法,实现一个动画效果代码结构视图1.1 lineTo(float x, float y)多次调用lineTo方法来绘制1.2 moveTo(float x, float y) +close()方法闭合曲线二、画贝赛尔曲线quadTo(float x1, float y1, float x2, float y2)2.3 cubicTo(float x1, float y1, float x2, float y2, float x3, float y3)arcTo (RectF oval, float startAngle, float sweepAngle) 是一个画弧线的方法,其实说白了就是从圆或椭圆上截取一部分而已。arcTo (RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo) 它会强制起点为绘制的起始点,而不是画布的左上角。我们来看看效果:例如: 起点(100,100)到终点(200,200)XXXTo绘制的距离就是,这里的move和lineTo的坐标都是对于画布左上角(0,0)来说。100到200的距离,绘制的总长度为00到200,也就是200距离而rXXXTo绘制的距离就是相对于100起点,再绘制200的距离。绘制的总长度就是300我们写一个例子这里的move和lineTo的坐标都是对于画布左上角(0,0)来说的,是一个绝对坐标。而我们换为mPath.rLineTo(200, 200); 后呢?是不是感觉线段长了很多,因为这里的(200,200)是相对于开始点(100,100)来说的,是相对坐标。如果换算成绝对坐标就是绘制一条(100,100)到(300,300)之间的线段。其实,这个前缀“r”也就是relative(相对)的简写!XXXTo方法可以连接Path中的曲线,而Path提供的另一系列addXXX方法则可以让我们直接往Path中添加一些曲线,比如addArc(RectF oval, float startAngle, float sweepAngle) : 它允许我们将一段弧形添加至Path,注意这里我用到了“添加”这个词汇,也就是说,通过addXXX方法添加到Path中的曲线是不会和上一次的曲线进行连接的:如图和代码所示,虽然我们先绘制了由[100,100]到[200,200]的线段,但是在我们往Path中添加了一条弧线后该弧线并没与线段连接。除了addArc,Path还提供了一系列的add方法:addCircle(float x, float y, float radius, Path.Direction dir)addOval(float left, float top, float right, float bottom, Path.Direction dir)addRect(float left, float top, float right, float bottom, Path.Direction dir)addRoundRect(float left, float top, float right, float bottom, float rx, float ry, Path.Direction dir)这些方法和addArc有很明显的区别,就是多了一个Path.Direction参数,其他呢都大同小异,除此之外不知道大家还发现没有,addArc是往Pa免费云主机域名th中添加一段弧,说白了就是一条开放的曲线,而上述几种方法都是一个具体的图形,或者说是一条闭合的曲线,Path.Direction的意思就是标识这些闭合曲线的闭合方向。Path.Direction只有两个常量值CCW和CW分别表示逆时针方向闭合和顺时针方向闭合。例如顺时针方向闭合如果我们换作:mPath.addOval(oval, Path.Direction.CCW);逆时针封闭感谢各位的阅读,以上就是“View绘图之Path怎么使用”的内容了,经过本文的学习后,相信大家对View绘图之Path怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: Docker容器网络更改如何实现

这篇文章主要介绍了Docker容器网络更改如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker容器网络更改如何实现文章都会有所收获,下面我们一起来看看吧。1.添加自定义网络(默认是桥接模式)2.解除容器绑定的网络3.…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 06/13 22:12
Next 06/13 22:12

相关推荐