Rect.setGradient не является функцией в fabricjs

#javascript #html #html5-canvas #fabricjs

Вопрос:

Я видел на вопросах о наборе фона в качестве градиента в fabricjs. Они сказали, что использовать setGradient на объекте ткани.Rect, но когда я использую его, возникает ошибка rect.setGradient не является функцией. Есть какое-нибудь решение ? Спасибо

 let rect = new fabric.Rect({
        top: 0, left : 0, width : $("canvas").width(), height: $("canvas").height(), fill : "#000"
    });
rect.setGradient("fill",{
             properties here
}) 
 

Ответ №1:

setGradient Метод был удален в Fabric v4 (см. http://fabricjs.com/v4-breaking-changes).

Вот текущий способ установки градиентной заливки.

 obj.set('fill', new fabric.Gradient({
  //gradient options
  type: 'linear',
  gradientUnits: 'pixels', // or 'percentage'
  coords: { x1: 0, y1: 0, x2: 50, y2: 0 },
  colorStops:[
    { offset: 0, color: 'red' },
    { offset: 1, color: 'green'}
  ]
}));