Raphael 中的文档流程图

Document flowchart in Raphael

我知道如何在 Raphael 中绘制一个简单的矩形,并且我了解其所有参数的意义。例如,这些参数给出了一个宽度等于 201 高度等于 179

的漂亮矩形
 M0,0 L0,179 L210,179 L210,0 L0,0Z

但是我不想要一个简单的矩形,我想要一个应该像这样的文档流程图

我从 here 得知,在 Raphael 中我可以画曲线,例如使用这些参数:

M150,150 A100,70 0 0,0 250,220

但遗憾的是,书中并没有解释这些参数的意义。我知道M是什么意思,但是我不知道A是什么意思,后面的所有坐标都不知道。

那么,如何固定我的初始矩形坐标以获得文档流程图?

你这里缺少的部分是 SVG Path Spec

您的初始矩形:

M0,0 L0,179 L210,179 L210,0 L0,0Z

...读作 "go to 0,0, then draw a line to 0,179, then draw a line to 210,179, then draw a line to 210,0, then draw a line to 0,0 and return to the start."(最后一部分 Z 有点多余,因为我们已经关闭了路径。)

您想用弧线替换第二行(从 0,179 到 210,179)。我不是设计师,但我敢说 Quadratic Bezier Curve 可以解决问题:

M0,0 L0,179 Q53,159 105,179 T210,179 L210,0 L0,0Z

也就是说,从Q开始,"draw a quadratic Bezier curve from the start point [0,179] to 105,179 using 53,159 as the control point. Then draw another from 105,179 to 210,179 using a reflection of the last control point."我还没有测试过这条路径,所以你可能需要调整控制点以获得你想要的曲线。 (增加控制点和 179 之间的 y 距离会使曲线更剧烈;减小它会使曲线更平缓。)

Raphael documentation 解释了有关在 Raphael 中使用路径的更多信息。