【发布时间】:2015-04-18 04:03:16
【问题描述】:
在 Java 中,我如何读取 SVG 路径的 d 属性,并将其离散化,以便将所有贝塞尔曲线正确细分为离散点,从而允许我指定一个阈值来解释锐角?
经过大量搜索后,我发现的唯一解决方案是使用 Apache Batik 以较短的间隔遍历路径,并均匀地采样点,但这会沿直线生成一堆不必要的点并且无法处理锐角的情况。
【问题讨论】:
在 Java 中,我如何读取 SVG 路径的 d 属性,并将其离散化,以便将所有贝塞尔曲线正确细分为离散点,从而允许我指定一个阈值来解释锐角?
经过大量搜索后,我发现的唯一解决方案是使用 Apache Batik 以较短的间隔遍历路径,并均匀地采样点,但这会沿直线生成一堆不必要的点并且无法处理锐角的情况。
【问题讨论】:
不久前,我实现了一种算法,可以将二次贝塞尔曲线转换为 Javascript 中的一组直线(顶点)。 Its here in action
它不是Java,但转换起来应该不会太难,您应该自己通过在[Q,q,C,c,S,s]上进行正则表达式过滤掉贝塞尔曲线
一些描述是here。
【讨论】: