


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PathMeasure顾名思义,PathMeasure是一个用来测量Path的类,主要有以下方法:构造方法方法名释义PathMeasure()创建一个空的PathMeasurePathMeasure(Path path, boolean forceClosed)创建 PathMeasure 并关联一个指定的Path(Path需要已经创建完成)。公共方法返回值方法名释义voidsetPath(Path path, boolean forceClosed)关联一个PathbooleanisClosed()是否闭合floatgetLength()获取Path的长度booleannextContour
2、()跳转到下一个轮廓booleangetSegment(float startD, float stopD, Path dst, boolean startWithMoveTo)截取片段booleangetPosTan(float distance, float pos, float tan)获取指定长度的位置坐标及该点切线值tanglebooleangetMatrix(float distance, Matrix matrix, int flags)获取指定长度的位置坐标及该点Matrix(矩阵)PathMeasure的方法也不多,接下来我们就逐一的讲解一下。1.构造函数构造函数有两个。无参
3、构造函数: PathMeasure ()11用这个构造函数可创建一个空的 PathMeasure,但是使用之前需要先调用 setPath 方法来与 Path 进行关联。被关联的 Path 必须是已经创建好的,如果关联之后 Path 内容进行了更改,则需要使用 setPath 方法重新关联。有参构造函数: PathMeasure (Path path, boolean forceClosed)11用这个构造函数是创建一个 PathMeasure 并关联一个 Path, 其实和创建一个空的 PathMeasure 后调用 setPath 进行关联效果是一样的,同样,被关联的 Path 也必须是已经
4、创建好的,如果关联之后 Path 内容进行了更改,则需要使用 setPath 方法重新关联。该方法有两个参数,第一个参数自然就是被关联的 Path 了,第二个参数是用来确保 Path 闭合,如果设置为 true, 则不论之前Path是否闭合,都会自动闭合该 Path(如果Path可以闭合的话)。在这里有两点需要明确:不论 forceClosed 设置为何种状态(true 或者 false), 都不会影响原有Path的状态,即 Path 与 PathMeasure 关联之后,之前的的 Path 不会有任何改变。forceClosed 的设置状态可能会影响测量结果,如果 Path 未闭合但在与 P
5、athMeasure 关联的时候设置 forceClosed 为 true 时,测量结果可能会比 Path 实际长度稍长一点,获取到到是该 Path 闭合时的状态。2.setPath、 isClosed 和 getLength这三个方法都如字面意思一样,非常简单,这里就简单是叙述一下,不再过多讲解。setPath 是 PathMeasure 与 Path 关联的重要方法,效果和 构造函数 中两个参数的作用是一样的。isClosed 用于判断 Path 是否闭合,但是如果你在关联 Path 的时候设置 forceClosed 为 true 的话,这个方法的返回值则一定为true。getLengt
6、h 用于获取 Path 的总长度,在之前的测试中已经用过了。3.getSegmentgetSegment 用于获取Path的一个片段,方法如下: boolean getSegment (float startD, float stopD, Path dst, boolean startWithMoveTo)11方法各个参数释义:参数作用备注返回值(boolean)判断截取是否成功true 表示截取成功,结果存入dst中,false 截取失败,不会改变dst中内容startD开始截取位置距离 Path 起点的长度取值范围: 0 = startD stopD = Path总长度stopD结束截取位
7、置距离 Path 起点的长度取值范围: 0 = startD stopD = Path总长度dst截取的 Path 将会添加到 dst 中注意: 是添加,而不是替换startWithMoveTo起始点是否使用 moveTo用于保证截取的 Path 第一个点位置不变如果 startD、stopD 的数值不在取值范围 0, getLength 内,或者 startD = stopD 则返回值为 false,不会改变 dst 内容。如果在安卓4.4或者之前的版本,在默认开启硬件加速的情况下,更改 dst 的内容后可能绘制会出现问题,请关闭硬件加速或者给 dst 添加一个单个操作,例如: dst.rL
8、ineTo(0, 0)可以用以下规则来判断 startWithMoveTo 的取值:取值主要功用true保证截取得到的 Path 片段不会发生形变false保证存储截取片段的 Path(dst) 的连续性4.nextContour我们知道 Path 可以由多条曲线构成,但不论是 getLength , getgetSegment 或者是其它方法,都只会在其中第一条线段上运行,而这个nextContour就是用于跳转到下一条曲线到方法,如果跳转成功,则返回 true, 如果跳转失败,则返回 false。5.getPosTan这个方法是用于得到路径上某一长度的位置以及该位置的正切值: boolea
9、n getPosTan (float distance, float pos, float tan)11方法各个参数释义:参数作用备注返回值(boolean)判断获取是否成功true表示成功,数据会存入 pos 和 tan 中,false 表示失败,pos 和 tan 不会改变distance距离 Path 起点的长度取值范围: 0 = distance = getLengthpos该点的坐标值坐标值: (x=0, y=1)tan该点的正切值正切值: (x=0, y=1)1.通过tan得值计算出图片旋转的角度,tan 是 tangent 的缩写,即中学中常见的正切, 其中tan HYPERLI
10、NK /u013831257/article/details/x 0是邻边边长,tan HYPERLINK /u013831257/article/details/y 1是对边边长,而Math中atan2方法是根据正切是数值计算出该角度的大小,得到的单位是弧度,所以上面又将弧度转为了角度。6.getMatrix这个方法是用于得到路径上某一长度的位置以及该位置的正切值的矩阵:boolean getMatrix (float distance, Matrix matrix, int flags)11方法各个参数释义:参数作用备注返回值(boolean)判断获取是否成功true表示成功,数据会存入matrix中,false 失败,matrix内容不会改变distance距
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公共关系学社会责任评估试题及答案
- 房屋结构设计
- 方形公园景观设计案例
- 行政管理经济法知识提升方法试题及答案
- 社区农产品销售支持服务合同书
- 广告推广投放合作协议
- 水利水电工程环境保护试题及答案
- 环保型蔬菜种植基地建设协议
- 运动健身行业智能健身管理系统方案
- 工程项目实施过程中的关键注意事项试题及答案
- 四年级下册课外阅读(含答案)
- 美术创作行业艺术品损坏免责协议
- 消费心理学-理论、案例与实践-综合练习题及答案
- 《深度解析张旭课程》课件
- 家装主材下单安装流程
- 供水管网漏损更新改造工程(一期)可行性研究报告
- 【重庆】2024年度重庆房地产市场研究报告正式版
- 课题申报参考:产教融合背景下护理专业技能人才“岗课赛证”融通路径研究
- 测绘设备投入计划
- 中药炮制工中级测试题+答案
- 房地产开发履约保证措施
评论
0/150
提交评论