Html kineticjs应用多个过滤器
我正在用html5构建画布,并遵循这些教程: 现在,如果我想在图像上应用两个过滤器,这是可能的吗?我想让我的用户改变图片的模糊度和亮度,所以我想到了:Html kineticjs应用多个过滤器,html,html5-canvas,kineticjs,Html,Html5 Canvas,Kineticjs,我正在用html5构建画布,并遵循这些教程: 现在,如果我想在图像上应用两个过滤器,这是可能的吗?我想让我的用户改变图片的模糊度和亮度,所以我想到了: var Themex = new Kinetic.Image({ x: 0, y: 0, name: "BG_image", image: imageBG, width: stage.getWidth(), height: stage.getHeight(), filter: { Kinetic.Filte
var Themex = new Kinetic.Image({
x: 0,
y: 0,
name: "BG_image",
image: imageBG,
width: stage.getWidth(),
height: stage.getHeight(),
filter: {
Kinetic.Filters.Brighten,
Kinetic.Filters.Blur
},
filterBrightness: 0,
filterRadius: 20
});
但是我在过滤器上得到一个javascript错误:“uncaughtsyntaxerror:Unexpected identifier:{row”
有什么想法吗?好的
如果有人需要-实际上不需要输入任何筛选器。可以一次附加任何筛选器-就像那样,使用setFilter函数
var slider = document.getElementById('slider');
slider.onchange = function() {
Themex.setFilter(Kinetic.Filters.Brighten);
Themex.setFilterBrightness(Math.round(slider.value));
BGlayer.batchDraw();
};
var sliderBlur = document.getElementById('blurSlider');
sliderBlur.onchange = function() {
Themex.setFilter(Kinetic.Filters.Blur);
Themex.setFilterRadius(Math.round(sliderBlur.value));
BGlayer.batchDraw();
};
var Grayscale_But = document.getElementById('Grayscale_But');
Grayscale_But.onclick = function() {
Themex.setFilter(Kinetic.Filters.Grayscale);
Themex.setFilterRadius(Math.round(20));
BGlayer.batchDraw();
};
我从未使用过Kinectic.js,但你肯定想通过一系列过滤器。这些过滤器周围都是
[]
。就像这样:filter:[Kinetic.filters.brighlight,Kinetic.filters.Blur]
谢谢philipp,在这里发布之前已经尝试过了,但不起作用