如何解决如何在自定义 JointJS 元素比例尺中制作路径?
我定义了以下自定义 JointJS 元素:
joint.shapes.webtp.BowTie = joint.dia.Element.define('webtp.BowTie',{
size: { width: 400,height: 100 },attrs: {
body: {
strokeWidth: 2,stroke: '#000000',fill: '#FFFFFF',},{
markup: [
{
tagName: 'g',selector: 'g1',attributes: {
class: 'rotatable',children: [
{
tagName: 'g',selector: 'g2',attributes: {
class: 'scalable',children: [
{
tagName: 'path',selector: 'body',attributes: {
d: 'm0,0l0,100l200,-25l200,25l0,-100l-200,25l-200,-25',]
}
]
},],});
但是,在形状上使用 resize
或 scale
不会调整其大小。最终总是 400x100。
我最初认为问题是需要将其包装在 class="scalable"
<g>
中,但这也没有解决。
我也试过用<line>
代替<path>
,但没有成功。
谢谢!
解决方法
答案在 refDResetOffset
属性中,它(与其他 ref
自定义属性一样随父属性缩放):
joint.shapes.webtp.BowTie = joint.dia.Element.define('webtp.BowTie',{
attrs: {
body: {
strokeWidth: 2,stroke: '#000000',fill: '#FFFFFF',refDResetOffset: 'm0,0l0,100l200,-25l200,25l0,-100l-200,25l-200,-25'
},},{
markup: [
{
tagName: 'g',selector: 'g1',attributes: {
class: 'rotatable',children: [
{
tagName: 'g',selector: 'g2',attributes: {
class: 'scalable',children: [
{
tagName: 'path',selector: 'body',]
}
]
},],});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。