Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var avatars = document.evaluate('//*[@class="title"]//img', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
- for (var i = 0; i < avatars.snapshotLength; i++) {
- var img = avatars.snapshotItem(i),
- imgCan = new Image();
- canvas = document.createElement("canvas"),
- ctx = canvas.getContext("2d"),
- canvasCopy = document.createElement("canvas"),
- ctxCopy = canvasCopy.getContext("2d"),
- scaleFactor = (1 / 3),
- imgHeight = img.height,
- imgWidth = img.width,
- scaledHeight = imgHeight * scaleFactor,
- scaledWidth = imgWidth * scaleFactor;
- imgCan.src = img.src;
- canvas.width = scaledWidth;
- canvas.height = scaledHeight;
- ctx.drawImage(imgCan, 0, 0, scaledWidth, scaledHeight);
- canvasCopy.width = imgWidth;
- canvasCopy.height = imgHeight;
- if(typeof ctxCopy.mozImageSmoothingEnabled != 'undefined')
- ctxCopy.mozImageSmoothingEnabled = false;
- ctxCopy.drawImage(canvas, 0, 0, imgWidth, imgHeight);
- imageData = ctxCopy.getImageData(0, 0, imgWidth, imgHeight);
- for (y=0; y < (imgHeight * imgWidth); y++) {
- inpos = y * 4;
- outpos = inpos;
- r = imageData.data[inpos++];
- g = imageData.data[inpos++];
- b = imageData.data[inpos++];
- a = imageData.data[inpos++];
- g = r + g + b;
- g = g / 3;
- g = Math.round(g);
- imageData.data[outpos++] = 0;
- imageData.data[outpos++] = g;
- imageData.data[outpos++] = 0;
- imageData.data[outpos++] = a;
- }
- ctxCopy.putImageData(imageData, 0, 0);
- ctxCopy.save();
- img.parentNode.insertBefore(canvasCopy, img);
- img.style.display = "none";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement