2

我想在overlayImage 中应用过滤器。唯一的方法是在渲染后在整个画布中应用过滤器?

4

1 回答 1

2

对此没有内置支持,但“破解”相当容易。

var overlayImageUrl = '...';

// load overlay image first
fabric.Image.fromURL(overlayImageUrl, function(oImg) {

  // add and apply filter to overlay image 
  oImg.filters.push(new fabric.Image.filters.Grayscale());
  oImg.applyFilters();

  // set <img> element of fabric.Image instance 
  // and assign it directly to canvas' "overlayImage"
  canvas.overlayImage = oImg.getElement();

  // render canvas for overlayImage to appear
  canvas.renderAll();
});
于 2012-11-24T13:35:58.127 回答