Poor Man's ASCII Art generator: draw on a canvas on the left, behold the ASCII art on the right. Reload to start over.
var dr=0,mx;d=document,b=d.body,c=b.children[0];c.width=c.height=400;t=c.getContext("2d"),rs=cs=40,w=10
b.style.margin="0px"
f='function('
d.write('<div style="float:right;width:400;height:400;font-family:monospace;background:#BBB;line-height:10px" id="r"></div>');for(i=0;i<7;i++){o=['Cb|x,y|var r=x,c=y;this.f=0;this.p='+f+'){t.fillRect(c*w,r*w,w,w);this.f=1}','s||mx=[];t.fillStyle="#BBB";t.fillRect(0,0,cs*w,rs*w);t.fillStyle="#000";for(i=0;i<=rs;i++){var g=[];for(j=0;j<=cs;j++){g[j]=new Cb(i,j)}mx.push(g)}ut()','he|e|x=0,y=0;if(e.layerX){x=e.layerX;y=e.layerY}else if(e.offsetX){x=e.offsetX;y=e.offsetY}e.r=(y-y%w)/w;e.c=(x-x%w)/w','m0|e|he(e);mx[e.r][e.c].p();dr=1;','m1|e|if(dr){he(e);mx[e.r][e.c].p();ut()}','m2=m3|e|if(dr){m1(e);dr=0}','ut||h="";for(i=0;i<=rs;i++){for(j=0;j<=cs;j++){h+=mx[i][j].f?"X":" "}h+="<br>"}d.getElementById("r").innerHTML=h'][i].split('|');eval(o[0]+'='+f+o[1]+'){'+o[2]+'}')}
s()
for(i=0;i<4;i++){a='down|move|up|out'.split('|')
c.addEventListener('mouse'+a[i],eval('m'+i),0)}
dmFyIGRyPTAsbXg7ZD1kb2N1bWVudCxiPWQuYm9keSxjPWIuY2hpbGRyZW5bMF07Yy53aWR0aD1jLmhlaWdodD00MDA7dD1jLmdldENvbnRleHQoIjJkIikscnM9Y3M9NDAsdz0xMA0KYi5zdHlsZS5tYXJnaW49IjBweCINCmY9J2Z1bmN0aW9uKCcNCmQud3JpdGUoJzxkaXYgc3R5bGU9ImZsb2F0OnJpZ2h0O3dpZHRoOjQwMDtoZWlnaHQ6NDAwO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtiYWNrZ3JvdW5kOiNCQkI7bGluZS1oZWlnaHQ6MTBweCIgaWQ9InIiPjwvZGl2PicpO2ZvcihpPTA7aTw3O2krKyl7bz1bJ0NifHgseXx2YXIgcj14LGM9eTt0aGlzLmY9MDt0aGlzLnA9JytmKycpe3QuZmlsbFJlY3QoYyp3LHIqdyx3LHcpO3RoaXMuZj0xfScsJ3N8fG14PVtdO3QuZmlsbFN0eWxlPSIjQkJCIjt0LmZpbGxSZWN0KDAsMCxjcyp3LHJzKncpO3QuZmlsbFN0eWxlPSIjMDAwIjtmb3IoaT0wO2k8PXJzO2krKyl7dmFyIGc9W107Zm9yKGo9MDtqPD1jcztqKyspe2dbal09bmV3IENiKGksail9bXgucHVzaChnKX11dCgpJywnaGV8ZXx4PTAseT0wO2lmKGUubGF5ZXJYKXt4PWUubGF5ZXJYO3k9ZS5sYXllcll9ZWxzZSBpZihlLm9mZnNldFgpe3g9ZS5vZmZzZXRYO3k9ZS5vZmZzZXRZfWUucj0oeS15JXcpL3c7ZS5jPSh4LXgldykvdycsJ20wfGV8aGUoZSk7bXhbZS5yXVtlLmNdLnAoKTtkcj0xOycsJ20xfGV8aWYoZHIpe2hlKGUpO214W2Uucl1bZS5jXS5wKCk7dXQoKX0nLCdtMj1tM3xlfGlmKGRyKXttMShlKTtkcj0wfScsJ3V0fHxoPSIiO2ZvcihpPTA7aTw9cnM7aSsrKXtmb3Ioaj0wO2o8PWNzO2orKyl7aCs9bXhbaV1bal0uZj8iWCI6IsKgIn1oKz0iPGJyPiJ9ZC5nZXRFbGVtZW50QnlJZCgiciIpLmlubmVySFRNTD1oJ11baV0uc3BsaXQoJ3wnKTtldmFsKG9bMF0rJz0nK2Yrb1sxXSsnKXsnK29bMl0rJ30nKX0NCnMoKQ0KZm9yKGk9MDtpPDQ7aSsrKXthPSdkb3dufG1vdmV8dXB8b3V0Jy5zcGxpdCgnfCcpDQpjLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlJythW2ldLGV2YWwoJ20nK2kpLDApfQ==
Original source not submitted