Edi / script.js
Ferodissss's picture
Update script.js
d6dc5c4 verified
let img = new Image();
let canvas = document.getElementById("canvas");
let ctx = canvas.getContext("2d");
document.getElementById("upload").onchange = e => {
let file = e.target.files[0];
img.src = URL.createObjectURL(file);
img.onload = () => {
canvas.width = img.width;
canvas.height = img.height;
draw();
}
};
function draw() {
ctx.filter = `
brightness(${document.getElementById("brightness").value}%)
contrast(${document.getElementById("contrast").value}%)
blur(${document.getElementById("blur").value}px)
grayscale(${document.getElementById("gray").value}%)
`;
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
let sharpenValue = document.getElementById("sharpen").value;
if (sharpenValue > 0) applySharpen(sharpenValue);
}
function applySharpen(amount) {
let imgData = ctx.getImageData(0, 0, canvas.width, canvas.height);
let pixels = imgData.data;
for (let i = 0; i < pixels.length; i+=4) {
pixels[i] = pixels[i] + amount * 10;
pixels[i+1] = pixels[i+1] + amount * 10;
pixels[i+2] = pixels[i+2] + amount * 10;
}
ctx.putImageData(imgData, 0, 0);
}
document.querySelectorAll("input[type=range]").forEach(r => {
r.oninput = draw;
});
document.getElementById("download").onclick = () => {
let link = document.createElement("a");
link.download = "edited.png";
link.href = canvas.toDataURL();
link.click();
};