javascript - 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" />
解决方案
谢谢您的回答,但这不起作用。图像仅更改为一种颜色
推荐阅读
- list - 如何访问在一个文件中的有状态小部件中创建的列表到另一个文件中的无状态小部件?
- php - 如何从多个表的 SQL 查询中获取一组数据?
- ios - 将一组图像上传到 coredata
- plotly - Plotly “页面上不存在 id 为'dept-sunburst' 的 DOM 元素”
- mysql - 当我在 Node Js 中同时使用波斯语和英语时,字符串格式错误
- apache-flink - 如果我事先不知道使用 Apache Flink 的架构,有没有办法将数据写入镶木地板文件?
- html - 使用 CSS 自定义输入类型编号的增量箭头
- android - Kotlin:如何从 firebase 同步获取数据?
- html - 我的横幅部分没有显示在我的静态 html 网站中,其余工作正常
- php - 如何在新订单 WooCommerce 电子邮件通知中将“产品”更改为“服务”