Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var avatars = document.evaluate('//*[@class="title"]//img', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  2.  
  3. for (var i = 0; i < avatars.snapshotLength; i++) {
  4.     var img = avatars.snapshotItem(i),
  5.         imgCan = new Image();
  6.         canvas = document.createElement("canvas"),
  7.         ctx = canvas.getContext("2d"),
  8.         canvasCopy = document.createElement("canvas"),
  9.         ctxCopy = canvasCopy.getContext("2d"),
  10.         scaleFactor = (1 / 3),
  11.         imgHeight = img.height,
  12.         imgWidth = img.width,
  13.         scaledHeight = imgHeight * scaleFactor,
  14.         scaledWidth = imgWidth * scaleFactor;
  15.  
  16.     imgCan.src = img.src;
  17.     canvas.width = scaledWidth;
  18.     canvas.height = scaledHeight;
  19.  
  20.     ctx.drawImage(imgCan, 0, 0, scaledWidth, scaledHeight);
  21.  
  22.     canvasCopy.width = imgWidth;
  23.     canvasCopy.height = imgHeight;
  24.     if(typeof ctxCopy.mozImageSmoothingEnabled != 'undefined')
  25.         ctxCopy.mozImageSmoothingEnabled = false;
  26.     ctxCopy.drawImage(canvas, 0, 0, imgWidth, imgHeight);                      
  27.  
  28.     imageData = ctxCopy.getImageData(0, 0, imgWidth, imgHeight);
  29.    
  30.     for (y=0; y < (imgHeight * imgWidth); y++) {
  31.        
  32.         inpos = y * 4;
  33.         outpos = inpos;
  34.    
  35.         r = imageData.data[inpos++];
  36.         g = imageData.data[inpos++];
  37.         b = imageData.data[inpos++];
  38.         a = imageData.data[inpos++];
  39.            
  40.         g = r + g + b;
  41.         g = g / 3;
  42.         g = Math.round(g);
  43.            
  44.         imageData.data[outpos++] = 0;
  45.         imageData.data[outpos++] = g;
  46.         imageData.data[outpos++] = 0;
  47.         imageData.data[outpos++] = a;
  48.  
  49.     }
  50.     ctxCopy.putImageData(imageData, 0, 0);
  51.     ctxCopy.save();
  52.  
  53.     img.parentNode.insertBefore(canvasCopy, img);
  54.     img.style.display = "none";
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement