Ferodissss commited on
Commit
d6dc5c4
·
verified ·
1 Parent(s): 9bb10bc

Update script.js

Browse files
Files changed (1) hide show
  1. script.js +51 -13
script.js CHANGED
@@ -1,13 +1,51 @@
1
- const fileInput = document.getElementById("fileInput");
2
- const preview = document.getElementById("preview");
3
-
4
- fileInput.addEventListener("change", (event) => {
5
- const file = event.target.files[0];
6
- if (!file) return;
7
-
8
- const reader = new FileReader();
9
- reader.onload = (e) => {
10
- preview.src = e.target.result;
11
- };
12
- reader.readAsDataURL(file);
13
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ let img = new Image();
2
+ let canvas = document.getElementById("canvas");
3
+ let ctx = canvas.getContext("2d");
4
+
5
+ document.getElementById("upload").onchange = e => {
6
+ let file = e.target.files[0];
7
+ img.src = URL.createObjectURL(file);
8
+
9
+ img.onload = () => {
10
+ canvas.width = img.width;
11
+ canvas.height = img.height;
12
+ draw();
13
+ }
14
+ };
15
+
16
+ function draw() {
17
+ ctx.filter = `
18
+ brightness(${document.getElementById("brightness").value}%)
19
+ contrast(${document.getElementById("contrast").value}%)
20
+ blur(${document.getElementById("blur").value}px)
21
+ grayscale(${document.getElementById("gray").value}%)
22
+ `;
23
+
24
+ ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
25
+
26
+ let sharpenValue = document.getElementById("sharpen").value;
27
+ if (sharpenValue > 0) applySharpen(sharpenValue);
28
+ }
29
+
30
+ function applySharpen(amount) {
31
+ let imgData = ctx.getImageData(0, 0, canvas.width, canvas.height);
32
+ let pixels = imgData.data;
33
+
34
+ for (let i = 0; i < pixels.length; i+=4) {
35
+ pixels[i] = pixels[i] + amount * 10;
36
+ pixels[i+1] = pixels[i+1] + amount * 10;
37
+ pixels[i+2] = pixels[i+2] + amount * 10;
38
+ }
39
+ ctx.putImageData(imgData, 0, 0);
40
+ }
41
+
42
+ document.querySelectorAll("input[type=range]").forEach(r => {
43
+ r.oninput = draw;
44
+ });
45
+
46
+ document.getElementById("download").onclick = () => {
47
+ let link = document.createElement("a");
48
+ link.download = "edited.png";
49
+ link.href = canvas.toDataURL();
50
+ link.click();
51
+ };