2013-09-20 1 views
0

Я хочу, чтобы стиль Gradient был в формах в fabric.js, я хочу написать общий метод градиента для всех фигур, выбрав объект и нажав кнопку отправки, он должен изменить заливку к градиенту.Дайте градиент фигурам с использованием fabricjs при нажатии кнопки

Fiddle :: http://jsfiddle.net/jdFet/1/

Пожалуйста, проверьте выше скрипку,

Код ::

var canvas; 

$(function() { 
    canvas = window.__canvas = new fabric.Canvas('canvas'); 
    canvas.backgroundColor = '#FFFFFF'; 
    var circle = new fabric.Circle({ 
     left: 100, 
     top: 100, 
     radius: 100 
    }); 

    circle.setGradient('fill', 
         { type:'linear', 
         x1: 0, 
         y1: 0, 
         x2: 0, 
         y2: circle.height, 
         colorStops: { 0 : 'rgba(0,255,0,1)', 1 : 'rgba(0,0,255,1)'} }); 
    canvas.add(circle); 
    console.log('Gradient', circle.fill); 
}); 

ответ

1

С вашего jsfiddle, я получил это один - http://jsfiddle.net/hellomaya/jdFet/6/ Выберите все формы, а затем изменить их градиент.

if (!obj) { 
     obj = canvas.getActiveGroup(); 
     if (!obj) { 
      return; 
     } 
     console.log (obj._objects); 

     var objects = obj.getObjects(); 
     for (i in objects) { 
      objects[i].setGradient('fill', { 
       type: 'linear', 
       x1: 0, 
       y1: 0, 
       x2: 0, 
       y2: objects[i].height, 
       colorStops: { 
        0: 'black', 
        1: 'red' 
       } 
      }); 
     } 
     canvas.renderAll(); 
     return; 
    } 

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

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