HTML5 Canvas 图片增强滤镜教程

要对 Konva.Image 应用滤镜,我们必须首先使用 cache() 函数缓存它。然后使用 filters() 函数应用滤镜。

要使用 Konva 增强图像,我们可以使用 Konva.Filters.Enhance 滤镜,并通过 enhance 属性设置增强值。

说明:滑动控制条以调整增强值。

有关所有可用滤镜的信息,请访问 滤镜文档

Konva Enhance Image Demoview raw
<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/konva@9.3.18/konva.min.js"></script>
<meta charset="utf-8" />
<title>Konva Enhance Image Demo</title>
<style>
body {
margin: 0;
padding: 0;
overflow: hidden;
background-color: #f0f0f0;
}

#slider {
position: absolute;
top: 20px;
left: 20px;
}
</style>
</head>

<body>
<div id="container"></div>
<input id="slider" type="range" min="-1" max="1" step="0.01" value="20" />
<script>
var stage = new Konva.Stage({
container: 'container',
width: window.innerWidth,
height: window.innerHeight,
});

var layer = new Konva.Layer();
stage.add(layer);

Konva.Image.fromURL('/assets/lion.png', function (lion) {
lion.setAttrs({
x: 80,
y: 30,
enhance: 0.5,
draggable: true,
});
lion.cache();
lion.filters([Konva.Filters.Enhance]);
layer.add(lion);

var slider = document.getElementById('slider');
slider.oninput = function () {
lion.enhance(parseFloat(slider.value));
};
});
</script>
</body>
</html>