给定一个android.graphics.Path
,我想要能够检索特定的路径命令:quadTo(..)、curveTo(...)、lineTo(...)等,这些命令是组成Path的。
Java提供了PathIterator来实现GeneralPath对象的此操作,但我没有找到Android的等效方法。我是否遗漏了什么?
给定一个android.graphics.Path
,我想要能够检索特定的路径命令:quadTo(..)、curveTo(...)、lineTo(...)等,这些命令是组成Path的。
Java提供了PathIterator来实现GeneralPath对象的此操作,但我没有找到Android的等效方法。我是否遗漏了什么?
现在有三种不同的方式:
Path.getPathIterator
(请参阅PathIterator)pathway
的 androidx
移植版抱歉让您久等了!
虽然这是一个老问题,但我还是想提供答案。你无法检索到命令,但可以获得积分回报。请查看 android.graphics.PathMeasure
API 1。
float[] tmpPos = new float[2];
float[] tmpTan = new float[2];
PathMeasure measure = new PathMeasure();
measure.setPath(path, true);
do {
float dist = measure.getLength();
for (float p = 0; p < dist; p += 1) {
measure.getPosTan(p, tmpPos, tmpTan);
float x = tmpPos[0], y = tmpPos[1];
float nx = tmpTan[0], ny = tmpTan[1];
// do your own stuff
}
} while (measure.nextContour());
PathMeasure还有一个getSegment方法,可以用来提取路径的一部分,但我从未尝试过。