kar*_*870 5 javascript html5-canvas fabricjs
我最近开始使用fabricjs,我有一个关于连接对象的问题。我确实创建了示例演示,用于从箭头连接parent object 到child object连接。我得到了示例演示http://kpomservices.com/HTML5CanvasCampaign/campaign.html。此代码应适用于结构 1.4.2。类似的代码可能适用于版本 2.3.3 不起作用。
错误 functions.js:963 Uncaught TypeError: c.setAngle is not a function
代码
function makeArrow(centerpt, left, top, line) {
var c = new fabric.Triangle({
width: 10,
height: 10,
left: left,
top: top,
//selectable: false,
strokeWidth: 3,
fill: 'grey',
opacity: 1,
stroke: 'grey',
originX: 'center',
originY: 'center'
});
c.hasBorders = c.hasControls = false;
c.angle = 90;
c.line = line;
var dx = left - centerpt.x;
var dy = top - centerpt.y;
var angle = Math.atan2(dy, dx) * 180 / Math.PI;
c.setAngle(angle + 90);
c.setCoords();
c.name = 'ep';
line.ep = c;
c.line = line;
return c;
}
Run Code Online (Sandbox Code Playgroud)
Build 没有 setter/getter(可选)。您可以使用在这里进行构建Named accessors。如果你想设置角度,你可以使用
obj.angle = text;
//or
obj.set({
angle:angle
});
//or
obj.set('angle', angle);
Run Code Online (Sandbox Code Playgroud)
演示版
obj.angle = text;
//or
obj.set({
angle:angle
});
//or
obj.set('angle', angle);
Run Code Online (Sandbox Code Playgroud)
var canvas = new fabric.Canvas('c');
var triangle = new fabric.Triangle({
left: 150,
top: 50,
width: 300,
height:200,
fill:'',
stroke:'red'
})
canvas.add(triangle);
triangle.set('angle',40);
//triangle.angle = 40;
//triangle.set({angle : 40})Run Code Online (Sandbox Code Playgroud)
canvas{
border:1px solid #000;
}Run Code Online (Sandbox Code Playgroud)