gpt4 book ai didi

JointJS 创建自定义形状、菱形、六边形

转载 作者:行者123 更新时间:2023-12-04 11:24:58 27 4
gpt4 key购买 nike

我是jointJS的新手,我需要使用JointJS创建自定义形状,我尝试使用矩形创建菱形,使其高度和宽度相同,然后旋转45度,如下所示,

var diamond =  new joint.shapes.basic.Rect({
position: { x: 100, y: 100 },
size: { width: 100, height: 100 },
attrs: { diamond: { width: 100, height: 30 } }
});
diamond.attr({

rect: { fill: '#cccccc', 'stroke-width': 2, stroke: 'black' },
text: {
text: 'Diamond', fill: '#3498DB',
'font-size': 18, 'font-weight': 'bold',
'font-variant': 'small-caps',
'text-transform': 'capitalize'
}
});
diamond.rotate(45);

然而,矩形内的文本也会被旋转,任何想法我该如何继续......我还需要创建带有标签的六边形......任何帮助将不胜感激......

提前致谢,

真由里

最佳答案

无需旋转整个元素。尝试添加 transform归因于 joint.dia.basic.Rect模型。

rect: { transform: 'rotate(45)' }

另一种选择是使用 joint.dia.basic.Path模型。
var diamond = new joint.shapes.basic.Path({
size: { width: 100, height: 100 },
attrs: {
path: { d: 'M 30 0 L 60 30 30 60 0 30 z' },
text: {
text: 'Diamond',
'ref-y': .5 // basic.Path text is originally positioned under the element
}
}
});

为了实现六边形,请使用 joint.dia.basic.Path再次建模,但这次使用以下路径数据。
path: { d: 'M 50 0 L 0 20 0 80 50 100 100 80 100 20 z'}

最后但最不重要的是,您可以在其标记中使用 SVG Polygon 创建自定义形状。

关于JointJS 创建自定义形状、菱形、六边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21263569/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com