Я хочу, чтобы стиль Gradient для фигур в fabric.js, я хочу написать общий метод градиента добавления для всех фигур, выбрав объект и нажав кнопку отправки, он должен изменить заливку на градиент.
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);
});
Из вашего 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;
}