有没有简单的方法可以在raphael中创建像菱形一样的形状?我想没有像以下那样的命令:
var paper = new Raphael(document.getElementById('canvas_container'), 600, 600);
var rhombus = paper.rhombus(...);
也许有比绘制路径更简单的方法。有什么想法吗?
答案 0 :(得分:3)
拉斐尔没有像paper.rhombus
那样的东西。但你可以自由地扩展拉斐尔,这样你就可以得到菱形方法了。正如你所问的那样。
我创建了小fiddle来绘制菱形,就像你想要的那样。
来自小提琴的示例代码。
r.rhombus({
cx:300,
cy:300,
side:15
});
// a rhombus rotated around its center.
r.rhombus({
cx:600,
cy:300,
side:15,
angle:45
}).attr({
'stroke-width' :2
})
变量说明:
cx - center x position
cy - center y position,
side - length of side of the rhombus.
angle - the angle through which the rhombus will be around its center (cx,cy)
了解了很多关于菱形的知识: - )
答案 1 :(得分:1)
我发现使用角度很麻烦,因为它还会旋转此对象的坐标系。例如,当它稍后向右翻译时,它将对角线移动到东南方向。 我使用菱形路径,代码很短:
this.rhombus = this.paper.path("M 100 100 l30 -30 l30 30 l-30 30 l-30 -30");
M:将“笔”移动到这些坐标 l:画一条线到相对于这里的一个点,所以30向右,30向上 等等。