使用 javaScript 使图像模糊
Making image Blur Using javaScript
我正在编写 JavaScript 代码来上传、预览、模糊和下载结果图像。目前我已经完成上传和预览代码。之后,如何把它弄模糊并下载呢?
<section class="upload" id="upload">
<h3>UPLOAD</h3>
<div class="container">
<div class="row">
<canvas id="c" class="p-3" >Here's the canvas.</canvas>
<br>
<input type="file" id="infile" accept = "image/*" onchange="handleFiles(this.files)">
<p><img id="output" /></p>
<button class="btnbl">Blur Image</button>
<br>
</div>
</div>
</section>
document.getElementById('infile').onchange = function(e) {
var img = new Image();
img.onload = draw;
img.onerror = failed;
img.src = URL.createObjectURL(this.files[0]);
};
function draw() {
var canvas = document.getElementById('c');
canvas.width = this.width;
canvas.height = this.height;
var ctx = canvas.getContext('2d');
ctx.drawImage(this, 0,0);
}
function failed() {
console.error("The provided file couldn't be loaded as an Image media");
}
这是我在 Whosebug 上的第一个答案,我是 Web 开发的初学者,所以如果我错了请原谅我并纠正我,这对我也有帮助。
我不知道如何在 Js 中做到这一点,但在 CSS 中它是这样工作的。
您可以像在 Glassmorphism 中一样使用 CSS 来实现模糊效果。
属性:背景滤镜:模糊(2rem);
blur 中传递的参数将定义您想要的模糊量。设置得越多,模糊效果就越好 属性。
将 onclick="blurimg()" 添加到您的模糊按钮。
然后添加这个 javascript.
function blurimg(){
document.getElementById("c").style.filter="blur(5px)"
}
请注意,我已经模糊处理 canvas( id="c")
您可以根据自己的选择增加或减少模糊度(5px)
我正在编写 JavaScript 代码来上传、预览、模糊和下载结果图像。目前我已经完成上传和预览代码。之后,如何把它弄模糊并下载呢?
<section class="upload" id="upload">
<h3>UPLOAD</h3>
<div class="container">
<div class="row">
<canvas id="c" class="p-3" >Here's the canvas.</canvas>
<br>
<input type="file" id="infile" accept = "image/*" onchange="handleFiles(this.files)">
<p><img id="output" /></p>
<button class="btnbl">Blur Image</button>
<br>
</div>
</div>
</section>
document.getElementById('infile').onchange = function(e) {
var img = new Image();
img.onload = draw;
img.onerror = failed;
img.src = URL.createObjectURL(this.files[0]);
};
function draw() {
var canvas = document.getElementById('c');
canvas.width = this.width;
canvas.height = this.height;
var ctx = canvas.getContext('2d');
ctx.drawImage(this, 0,0);
}
function failed() {
console.error("The provided file couldn't be loaded as an Image media");
}
这是我在 Whosebug 上的第一个答案,我是 Web 开发的初学者,所以如果我错了请原谅我并纠正我,这对我也有帮助。
我不知道如何在 Js 中做到这一点,但在 CSS 中它是这样工作的。
您可以像在 Glassmorphism 中一样使用 CSS 来实现模糊效果。 属性:背景滤镜:模糊(2rem); blur 中传递的参数将定义您想要的模糊量。设置得越多,模糊效果就越好 属性。
将 onclick="blurimg()" 添加到您的模糊按钮。 然后添加这个 javascript.
function blurimg(){
document.getElementById("c").style.filter="blur(5px)"
}
请注意,我已经模糊处理 canvas( id="c")
您可以根据自己的选择增加或减少模糊度(5px)