在overlayImage中应用过滤器的方法在哪里?

时间:2012-11-24 05:10:22

标签: javascript canvas fabricjs

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

1 个答案:

答案 0 :(得分: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();
});