0
我正在使用Fabric.js
。對於圖像,我想爲用戶提供image filter
選項。下面創建動態JavaScript對象
是用於創建新過濾Gayscale的代碼:
var filter = new fabric.Image.filters.Grayscale();
canvas.getActiveObject().filters=[];
canvas.getActiveObject().applyFilters(_canvasObject.renderAll.bind(_canvasObject));
canvas.getActiveObject().filters.push(filter);
canvas.getActiveObject().applyFilters(_canvasObject.renderAll.bind(_canvasObject));
對於其它過濾器也代碼幾乎是相同的,其是除了第一行重複。
我提供了用於選擇過濾器的複選框。我遍歷所有checkBoxes
並添加event listener
以應用新的過濾器。所以在下面的代碼中,我想動態創建過濾器對象。
var filterClickHandler = function(selectedFilter){
return function(){
applySelectedFilter(selectedFilter);
}
}
function applySelectedFilter(selectedFilter){
//selectedFilter may be Grayscale,Sepia,etc...
// var filter = new fabric.Image.filters.Grayscale();
var filter = new fabric.Image.filters.selectedFilter();
}
無論如何這樣做?
你能爲它提供一個小提琴嗎? –