как изменить один и тот же цвет фона каждой фигуры в групповой форме

Я делаю проект в веб-приложении asp.net mvc3, используя canvas и fabric.js. У меня возникла проблема: у меня есть групповая форма, в которой более 3 прямоугольников соединены вместе, чтобы сделать ее одной фигурой. Теперь проблема заключается в том, что после перетаскивания формы группы из div на холст цвет фона формы группы должен измениться на серый, но цвет фона меняется для одной формы объекта в форме группы. Вот код, который я сделал для изменение цвета

 function drawActiveShape(x, y, type) {
        if (activeObject != null) {
            hideToolMenu();
            activeObject.left = x;
            activeObject.top = y;
            js_c_drawing.add(activeObject);
            if (type == 1) {
                activeObject.set('fill', 'gray');
                js_c_drawing.setActiveObject(activeObject);
            } else {
                activeObject.item(0).set('fill', 'gray');
                js_c_drawing.setActiveGroup(activeObject);
            }
            js_c_drawing.calcOffset();
            fabric.instances.push(js_c_drawing);
        }
        activeObject = null;
    }

кто-нибудь может сказать мне, как изменить форму группы, заранее спасибо

после удаления элемента (0) из условия else цвет фона меняется, но перетаскивание не работает, и еще одна вещь в элементе (0), если мы поместим 1, он изменит цвет формы, что означает, что он изменится на следующий объект. Я сохранил условие else, подобное этому

else {
   activeObject.item(0).item(1).set('fill', 'gray');
   js_c_drawing.setActiveGroup(activeObject);
}

операция перетаскивания работает, но цвет фона не меняется ни для одного объекта


person Cathy    schedule 19.04.2013    source источник


Ответы (1)


Наконец, я решил, изменив одно слово, которое является группой изменений как объект

if (type == 1) {
                activeObject.set('fill', 'gray');
              js_c_drawing.setActiveObject(activeObject);
            } else {
                activeObject.item(0).set('fill', 'gray');
                js_c_drawing.setActiveObject(activeObject);
            }
person Cathy    schedule 20.04.2013