Android SVG多边形路径/点阵列/绝对坐标

Android SVG多边形路径/点阵列/绝对坐标,android,svg,path,polygon,Android,Svg,Path,Polygon,在我的应用程序中,我得到一个非常长的SVG路径作为字符串。我需要将此路径转换为多边形或点阵列(绝对坐标) 到目前为止,我找到的所有解决方案都基于Batik(我无法在Android Studio中使用)、SVGPatheElement(awt.svg也不适用于Android)或JavaScript库(Raphael等) 所以我的问题是,是否有其他可能使用像getPointAtLength(x)这样的函数来采样路径,或者我必须以编程方式编写解析器?我搜索了几个小时才找到答案,不幸的是没有成功。 提前

在我的应用程序中,我得到一个非常长的SVG路径作为字符串。我需要将此路径转换为多边形或点阵列(绝对坐标)

到目前为止,我找到的所有解决方案都基于Batik(我无法在Android Studio中使用)、SVGPatheElement(awt.svg也不适用于Android)或JavaScript库(Raphael等)

所以我的问题是,是否有其他可能使用像getPointAtLength(x)这样的函数来采样路径,或者我必须以编程方式编写解析器?我搜索了几个小时才找到答案,不幸的是没有成功。 提前谢谢你

解决方案: path=createPathFromPathData(字符串pathStr) 近似路径(误差);
返回绝对点数组

谢谢,但是PathParser.java中的createNodesFromPathData(字符串路径)方法不能正确处理我的路径。示例:to String st=“M907015945L0,-55-1689,0-1690,0-3,38-3,37-110,0-110,0-3,-38-2730,0-2729,0,-7945,0,-7945 6180,0 6180,0 07945 07945-1595,0,0,55-50,0,0,-55z”;它返回一个只有3个元素的数组:9070.015945.0 M类型;0.0,-55.0 l型;z此方法适用于子字符串,我认为如果路径中有一个点不止一次(如我的示例中所示)@pskink,则此方法无法正常工作。logcat输出为:clickMethod 3;方法m2;方法L48;单击方法z 0