Last active
August 29, 2015 14:14
-
-
Save mattparker/f55aed4103c342ba8b07 to your computer and use it in GitHub Desktop.
Makes an image out of the content of a webpage
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
javascript:(function () { | |
var d = document.createElement('canvas'), | |
ctx = d.getContext('2d'), | |
w = window.innerWidth, | |
h = window.innerHeight, | |
x = 0, | |
code_to_0256 = function (code) { | |
if (code < 32 || code > 127) { | |
code = 90; | |
} | |
return Math.floor((code - 32) * (256/95)); | |
}, | |
imageData, imData, text; | |
d.setAttribute("style", "width: " + w + "px; height: " + h +"px;display: block;"); | |
document.body.insertBefore(d, document.body.firstChild); | |
imageData = ctx.getImageData(0, 0, w, h); | |
imData = imageData.data; | |
text = document.body.textContent; | |
while (x < imData.length ){ | |
imData[x]= code_to_0256(text.charCodeAt(x % text.length)); | |
x++; | |
} | |
ctx.putImageData(imageData, 0, 0); | |
}()); |
For Twitter
Here's a similar thing that tries to inject the image just below a tweet. Add it as a bookmark, click on a Tweet, and maybe, just maybe, it'll manage to put a little image in the right place.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Update
OK, that's better I think. Now it assumes most characters will be in the ASCII range 32 to 127 (and sets it to 90 if not), and then scales it to fill the range 0 - 256.
Also, not using the markup now, just the textContent.