Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var h = 388, w = 344;
- var img = document.createElement('img');
- var canvas = document.createElement('canvas');
- var randNum = Math.floor(Math.random() * 5);
- canvas.height = h;
- canvas.width = w;
- var ctx = canvas.getContext('2d');
- img.src = "img/soboken" + randNum + ".jpg";
- img.onload = function() {
- ctx.drawImage(img, 0, 0);
- var image = ctx.getImageData(0, 0, w, h);
- changeColor(image);
- };
- document.body.appendChild(canvas); //добавляет канвас на страницу, можно удалить
- var changeColor = function(image){
- var rand1 = [getColor(), getColor(), getColor()];
- var rand2 = [getColor(), getColor(), getColor()];
- for(var i = 0; i < image.data.length; i+=4){
- if(i%5 === 0){//при этом ифе заливка становится градиентной
- var irand = Math.floor(Math.random()*2);
- rand1[irand] *= 1.00011;
- rand2[irand] *= 1.00011;
- }
- c1(image.data, i, rand1);//для первой пары цвета
- c2(image.data, i, rand2);//для второй пары цвета
- c3(image.data, i, rand1);//для двух пар сразу
- }
- ctx.putImageData(image, 0, 0);
- };
- var getColor = function() {
- return Math.floor(Math.random()*255);
- };
- var c1 = function (c, i, rand) {
- if(c[i] <= 30 && c[i+1] >= 230 && c[i+2] >= 220){
- c[i] = rand[0];
- c[i + 1] = rand[1];
- c[i + 2] = rand[2];
- }
- if(c[i] <= 30 && c[i+1] >= 230 && c[i+2] <= 30){
- c[i] = rand[0] * 0.8;
- c[i + 1] = rand[1] * 0.8;
- c[i + 2] = rand[2] * 0.8;
- }
- };
- var c2 = function (c, i, rand) {
- if(c[i] >= 240 && c[i+1] >= 240 && c[i+2] <= 10){
- c[i] = rand[0];
- c[i + 1] = rand[1];
- c[i + 2] = rand[2];
- }
- if(c[i] >= 240 && c[i+1] <= 10 && c[i+2] <= 10){
- c[i] = rand[0] * 0.6;
- c[i + 1] = rand[1] * 0.6;
- c[i + 2] = rand[2] * 0.6;
- }
- };
- var c3 = function (c, i, rand) {
- if (c[i] <= 30 && c[i + 1] >= 230 && c[i + 2] >= 220) {
- c[i] = rand[0];
- c[i + 1] = rand[1];
- c[i + 2] = rand[2];
- }
- if (c[i] <= 30 && c[i + 1] >= 230 && c[i + 2] <= 30) {
- c[i] = rand[0] * 0.8;
- c[i + 1] = rand[1] * 0.8;
- c[i + 2] = rand[2] * 0.8;
- }
- if (c[i] >= 240 && c[i + 1] >= 240 && c[i + 2] <= 10) {
- c[i] = rand[0] * 0.6;
- c[i + 1] = rand[1] * 0.6;
- c[i + 2] = rand[2] * 0.6;
- }
- if (c[i] >= 240 && c[i + 1] <= 10 && c[i + 2] <= 10) {
- c[i] = rand[0] * 0.4;
- c[i + 1] = rand[1] * 0.4;
- c[i + 2] = rand[2] * 0.4;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement