【发布时间】:2016-09-21 00:33:02
【问题描述】:
我有一个类似的程序:
var filters = [
new fabric.Image.filters.Grayscale(),
new fabric.Image.filters.Sepia2(),
new fabric.Image.filters.Invert(),
]
function grayscale(url, filter) {
var canvas = document.createElement('canvas')
document.body.appendChild(canvas)
console.log(fabric)
fabric.Image.fromURL(url, function(oImg) {
canvas.add(oImg)
})
var obj = canvas.getActiveObject()
obj.filters[filter] = filters[filter]
obj.applyFilters(canvas.renderAll.bind(canvas))
var img = canvas.toDataURL('image/png')
return img
}
我这样称呼它:
var img = grayscale("some_url", 0)
console.log(img)
我正在使用来自 cdn 的面料...
在这里,我也提供了一个图像 url 作为参数和过滤器..
我希望以灰度转换该图像,并获得转换后的图像作为响应。
在这里我遇到了canvas.add is not a function 之类的错误。
canvas.getActiveObject() 不是函数..
这里有什么问题?
需要帮助
【问题讨论】:
-
尝试 appendChild 而不是像这样添加 document.body.appendChild(canvas)。这里的 getActiveObject 是什么?你想做什么?
-
我想使用fabricjs将图像转换为灰度
标签: javascript fabricjs