-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlab_02_2.html
More file actions
45 lines (37 loc) · 1.92 KB
/
lab_02_2.html
File metadata and controls
45 lines (37 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<html>
<body>
<canvas width="500" , height="500" , id="layer_1"> </canvas>
<canvas width="500" , height="500" , id="layer_2"> </canvas>
<script>
var canvas = document.getElementById("layer_1");
var ctx = canvas.getContext("2d");
var canvas2 = document.getElementById("layer_2");
var ctx2 = canvas2.getContext("2d");
let img_data = new ImageData(canvas.width,canvas.height)
let _average = 0;
function randomInteger(min, max) {
// получить случайное число от (min-0.5) до (max+0.5)
let rand = min - 0.5 + Math.random() * (max - min + 1);
return Math.round(rand);
}
for (var index = 0; index < img_data.data.length; index += 4)
{
_average = img_data.data[index] + img_data.data[index+1] + img_data.data[index+2];
img_data.data[index] = randomInteger(0, 255);
img_data.data[index + 1] = randomInteger(0, 255);
img_data.data[index + 2] = randomInteger(0, 255);
img_data.data[index + 3] = 255;
}
ctx.putImageData(img_data, 0, 0, 0, 0, canvas.width, canvas.height);
for (var index = 0; index < img_data.data.length; index += 4)
{
_average = (img_data.data[index] + img_data.data[index+1] + img_data.data[index+2])/3;
img_data.data[index] = _average;
img_data.data[index + 1] = _average;
img_data.data[index + 2] = _average;
img_data.data[index + 3] = 255;
}
ctx2.putImageData(img_data, 0, 0, 0, 0, canvas2.width, canvas2.height);
</script>
</body>
</html>