【发布时间】:2015-03-11 04:44:39
【问题描述】:
我在页面上有一个画布,我在其中绘制了一个图像,现在我想应用亮度、对比度、棕褐色等滤镜...
当用户选择过滤器时会出现问题,因为用户需要能够选择和取消选择过滤器。
因此,例如,如果用户选择棕褐色和对比度过滤器,我会将两个过滤器都应用到画布上,但如果他取消选择棕褐色,我需要从画布上删除棕褐色过滤器(类型重置过滤器并仅应用对比度)... 等等所有可用的过滤器。
我怎样才能做到这一点?
有什么简单的方法吗?
目前我尝试的非常糟糕:
function applyFilter(filter) {
var canvas = document.getElementById('canvas')
, context = canvas.getContext('2d');
if (filter === 'sepia') {
context.sepia(1);
}
if (filter === 'contrast') {
context.contrast(1.3);
}
}
function removeFilter(filter) {
var canvas = document.getElementById('canvas')
, context = canvas.getContext('2d');
if (filter === 'sepia') {
context.sepia(0);
}
if (filter === 'contrast') {
context.contrast(1);
}
}
【问题讨论】:
标签: javascript html canvas filter