相关疑难解决方法(0)

Raphael.path2curve不尊重原始路径

我有Raphael.path2curve()的问题.该函数修改SVG路径字符串,以便将所有路径命令转换为绝对立方曲线(C).该函数支持所有路径命令(mlcqahvstMLCQAHVST参见SVG SPEC).

Raphael.path2curve()可以在很多情况下处理好路径,例如.它甚至可以将弧转换为正确的立方体,这不是一个简单的计算.我做了很多测试,并意识到由命令组成的路径QT,CSHT转换得很好.以下也没有问题:MS, HS, VS, LS, TC, TH, TL, TV, QA, TA.

但它无法处理命令QS, TS, AS, TT(按此顺序).

如果我们例如.有这样的路径,转换失败:

M 0 0  T 205.4 112.9  S 260.8 23.36 82.45 72.86 
Run Code Online (Sandbox Code Playgroud)

但这转换正确:

M 0 0  S 211.9 54.20 52.14 144.4  T 98.85 44.45 
Run Code Online (Sandbox Code Playgroud)

所以,MTS不行,但MST是.有问题的是S和T,因为当事情失败时,它们总是存在问题.

我制作了一个随机路径生成器(慢,但使用jsbin来提高速度),在那里你可以获得随机路径并使用Raphael.path2curve()将其转换为Cubic命令.在小提琴中单击SVG或在输入字段上按Enter键以获取新的随机路径.重复,直到找到不正确的一个.在jsfiddle中,HTML窗口是一个参数var list = "st";,您可以在其中设置要随机化的路径命令.

这是一个示例图像.蓝色是原始路径,红色是转换路径.它们应该完全相同.

路径

我应该怎么做Raphael代码才能使转换正确?

(我做了一个错误报告,但现在试图解决这个问题几个小时没有运气.

javascript raphael

2
推荐指数
1
解决办法
1088
查看次数

标签 统计

javascript ×1

raphael ×1