Android开发 之 Path常用方法
来源:互联网 发布:网络与新媒体是干嘛的 编辑:程序博客网 时间:2024/06/10 04:54
Path常用方法
Path作为Android中一种相对复杂的绘图方式,官方文档中的有些解释并不是很好理解,这里作一个相对全面一些的总结,供日后查看,也分享给大家,共同进步。
1.基本绘图方法
- addArc(RectF oval, float startAngle, float sweepAngle)
绘制弧线,配合Paint的Style可以实现不同的填充效果 - addCircle(float x, float y, float radius, Path.Direction dir)
绘制圆形,其中第dir
参数用来指定绘制时是顺时针还是逆时针 - addOval(RectF oval, Path.Direction dir)
绘制椭圆形,其中oval
作为椭圆的外切矩形区域 - addRect(RectF rect, Path.Direction dir)
绘制矩形 - addRoundRect(RectF rect, float rx, float ry, Path.Direction dir)
绘制圆角矩形 - lineTo(float x, float y)
绘制直线 - addPath(Path src)
添加一个新的Path到当前Path - arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo)
与addArc
方法相似,但也有区别,下文细述。 - quadTo(float x1, float y1, float x2, float y2)
绘制二次贝塞尔曲线
,其中 (x1,y1)为控制点,(x2,y2)为终点 - cubicTo(float x1, float y1, float x2, float y2, float x3, float y3)
绘制三次贝塞尔曲线
,其中(x1,y1),(x2,y2)为控制点,(x3,y3)为终点
2.rXXX方法
上面的lineTo,MoveTo,QuadTo,CubicTo方法都有与之对应的rXXX
方法:
- rLineTo(float dx, float dy)
- rMoveTo(float dx, float dy)
- rQuadTo(float dx1, float dy1, float dx2, float dy2)
- rCubicTo(float x1, float y1, float x2, float y2, float x3, float y3)
这些方法与之对应的原方法相比,惟一的区别在于:r方法是基于当前绘制开始点的offest,比如当前paint位于 (100,100)处,则使用rLineTo(100,100)
方法绘制出来的直线是从(100,100)到(200,200)的一条直接,由此可见rXXX
方法方便用来基于之前的绘制作连续绘制。
阅读全文
0 0
- Android开发 之 Path常用方法
- Android开发之Path详解
- android开发常用方法
- Android开发常用方法
- Path的常用方法
- Android知识总结——Path常用方法解析
- Android-NDK开发之基础--Android JNI开发高级篇(JNI中的常用方法)
- Android-NDK开发之基础--Android JNI开发高级篇(JNI中的常用方法)
- Android-NDK开发之基础--Android JNI开发高级篇(JNI中的常用方法)
- Android-NDK开发之基础--Android JNI开发高级篇(JNI中的常用方法)
- Android-NDK开发之基础--Android JNI开发高级篇(JNI中的常用方法)
- Android-NDK开发之基础--Android JNI开发高级篇(JNI中的常用方法)
- Android-NDK开发之基础--Android JNI开发高级篇(JNI中的常用方法)
- Android之开发常用颜色
- Android之开发常用颜色
- Android之开发常用颜色
- Android之开发常用颜色
- Android之开发常用颜色
- Hdu 6133 启发式合并
- Corejava day04
- Redis操作及持久化分析
- angularJs 中的ui-bootstrap 插件$uibModal 问题总结
- vue组件之间的通信
- Android开发 之 Path常用方法
- CSS 幽灵元素方案垂直居中注意事项
- Flask Web开发:基于Python的Web应用开发实战pdf
- 计算机系统知识
- Java8---Optional避免空指针异常
- 广播接收者BroadcastReceive
- java笔记之java中的集合框架
- 九度OJ:1061
- 网络状态实时监测