2017-02-17 11 views
2

Я не могу изменить размер этих элементов. Функция set не работает и не распознает коллекцию объектов.Мне нужно изменить размер выбранных элементов в ткани js

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}); 
+0

Был ли мой ответ какой-либо помощи вам? Вам нужно что-нибудь еще? –

ответ

1

Вот рабочий 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 функции не работает является объект не определен, то нет никакой активной «группы» - у вас есть только объекты с активным свойством, установленным в действительность.

 Смежные вопросы

  • Нет связанных вопросов^_^