package android.graphics;
PathMeasure用于测量Path,通过它可以拿到path路径上指定点的坐标和截取Path的段。
一、构造器
创建一个空的PathMeasure对象,如果要测量Path的长度,任意长度上的点以及任何
位置的正切值。需要调用setPath;
PathMeasure pathMeasure = new PathMeasure();
/*创建一个与指定path相关联的PathMeasure对象 (已经创建并指定)。PathMeasure
对象可以返回该path的长度和任意长度上的点以及任何位置的正切值。
forceClosed: 如果为true,那么这条Path被认为是闭合的,即使路线是没有闭合的。
*/
PathMeasure pathMeasure = new PathMeasure(Path path,boolean
forcedClosed);
注意:一旦路径与测量对象相关联,它是 *定义如果路径是随后修改,测量对象 *使用。如
果路径被修改,您必须调用setPath。
二、方法
分配一个新的路径,或者原来是空的情况
setPath(
Path path,boolean forcedClosed
);
返回当前路径总长度,如果measure没有关联Path则返回0;
getLength();
插入范围0~getLength的distance,计算出相应的位置和正切值。如果没有Path或者关
联的path长度为0则返回false,在这种情况下位置和正切值是不变的。
不为null的情况下:x=pos[0],y=pos[1];
不为null的情况下:x=tan[0],y=tan[1];
boolean
getPosTan(float distance,float pos[],float tan[]);
flags: 指定返回Matrix的哪一部分
getMatrix(float distance Matrix matrix ,int flags);
给定一个开始和结束的位置,返回一段path。如果该段Path长度为零,返回false,否则返
回true。startD和stopD固定合法值(0 . . getLength())。如果startD > = stopD返回
false(和离开dst)。如果startWithMoveTo是真的,以moveTo为开始的分段Path。
getSegment(float startD,float stopD,Path dst ,boolean startWithMoveTo);
移动到下一个路径的轮廓。,如果存在返回true,或如果我们完成了路径返回假。
nextContour();