gpt4 book ai didi

javascript - 我需要调整 Fabric js 中所选项目的大小

转载 作者:太空宇宙 更新时间:2023-11-04 16:00:41 25 4
gpt4 key购买 nike

我无法调整这些项目的大小。 set 函数不起作用,无法识别对象集合。

canvas.loadFromJSON(json,canvas.renderAll.bind(canvas))

canvas.renderAll();

//select all items first (this works)
var objs = canvas.getObjects().map(function(o) {
return o.set('active', true);
});

//deactivate some items i dont want to resize (this works)
canvas.item(0).set('active', false);
canvas.item(1).set('active', false);
canvas.item(2).set('active', false);
canvas.item(3).set('active', false);
canvas.item(4).set('active', false);

canvas.renderAll();
//the problem starts here
var o = canvas.getActiveGroup();
o.set({width:100, height:100});

最佳答案

这是一个正在运行的 JSFiddle,http://jsfiddle.net/rekrah/pnpc3j3r/ .

canvas.loadFromJSON(json,canvas.renderAll.bind(canvas))

canvas.renderAll();

//select all items first (this works)
var objs = canvas.getObjects().map(function(o) {
return o.set('active', true);
});
canvas.renderAll();

//deactivate some items i dont want to resize (this works)
canvas.item(0).set('active', false);
canvas.item(1).set('active', false);
canvas.item(2).set('active', false);
canvas.item(3).set('active', false);
canvas.item(4).set('active', false);

canvas.renderAll();
//this is where the problem goes away
canvas.getObjects().map(function(o) {
return (o.active ? o.set({
width: 100,
height: 100
}).setCoords() : o);
});
canvas.renderAll();

set 函数不起作用的原因是对象未定义,您没有事件的“组” - 您只有 active 属性设置为 true 的对象。

关于javascript - 我需要调整 Fabric js 中所选项目的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42307124/

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