首页 > 解决方案 > Fabricjs 过滤器

问题描述

我编写了代码,但我总是收到此错误“TypeError: (intermediate value)(intermediate value).filter is not a function at i.applyFilters”

var canvas = new fabric.Canvas('c');

fabric.Image.fromURL('https://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg', function(img) {
  var oImg = img.set({
    left: 50,
    top: 50
  });
  canvas.add(oImg).renderAll();
  canvas.setActiveObject(oImg);
}, {
  crossOrigin: 'anonymous'
});

function applyFilter(index, filter) {
  var obj = canvas.getActiveObject();
  obj.filters[index] = filter;
  obj.applyFilters(canvas.renderAll.bind(canvas));
}

var f = fabric.Image.filters;

document.getElementById("input").onchange = function() {
  applyFilter(0, new f.Contrast({
    contrast: parseInt(document.getElementById("input").value, 10)
  }));
};
<canvas width=600 height=400 id="c"></canvas>
<input id="input" type="range" min="-255" max="255" value="0" />

标签: javascriptfabricjs

解决方案


谢谢您的回答,但这不起作用。图像仅更改为一种颜色


推荐阅读