Android--PathMeasure基本用法

PathMeasure是一个用来测量Path的类
构造方法
//创建一个空的PathMeasure
public PathMeasure()

//创建 PathMeasure 并关联一个指定的Path(Path需要已经创建完成)。
public PathMeasure(Path path, boolean forceClosed)
其中参数forceClosed表示是否考虑path起始点,一般用false,不考虑起始点

其他api
  • 关联一个Path,和第二个构造方法用法相同
public void setPath(Path path, boolean forceClosed)
  • path是否闭合
public boolean isClosed()
  • 获取Path的长度
public float getLength()
  • 跳转到下一个轮廓
public boolean nextContour()
  • 截取片段
    startD:开始位置
    stopD:结束位置
    dst:存放截取片段的path(注意是追加进目标path,而不是覆盖)
    startWithMoveTo:为false将会使用dst的末尾点(如果dst不是空的话)连接到截取片段的第一条直线的末尾点(第一条直线和第二条直线的拐点),总之为false挺蛋疼的,一般使用true
public boolean getSegment(float startD, float stopD, Path dst, boolean startWithMoveTo)
  • 获取指定长度的位置坐标及该点切线值tangle
    distance:指定长度的位置
    pos[]:存放指定位置的坐标
    tan[]:正切值,其中tan[0]是邻边边长,tan[1]是对边边长,可以利用Math中 atan2 方法:根据正切数值计算出该角度的大小,得到的单位是弧度,再根据公式:弧度=角度/180 * π 可以得到角度
public boolean getPosTan(float distance, float pos[], float tan[])
  • 获取指定长度的位置坐标及该点Matrix(矩阵)
    distance:指定长度的位置
    matrix:会根据 flags 的设置而存入不同的内容
    flags:
    ------ POSITION_MATRIX_FLAG(位置)
    ------ ANGENT_MATRIX_FLAG(正切)
public boolean getMatrix(float distance, Matrix matrix, int flags)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值