全部题目地址:http://codestar.alloyteam.com/q2php
本题内容:http://www.cnblogs.com/yedeying/p/3617593.htmlhtml
腐蚀的画涉及到的图片有4张:前端
http://codestar.alloyteam.com/q2/puzzle/4/1.png
http://codestar.alloyteam.com/q2/puzzle/4/2.png
http://codestar.alloyteam.com/q2/puzzle/4/3.png
http://codestar.alloyteam.com/q2/puzzle/4/4.pngchrome
不多接触canvas,不过对获取canvas画布内像素数据的方法有印象,查了下,轻松解决。canvas
这一步是个坑,只提示转成0跟1,但转换方式没说,可能性有不少,若是不是有高人提示,不多会想到二值化。数组
一开始还在想怎么把二进制转ASCII,本来觉得得写个对象,用查表方式来处理,后来高人提示能够先转十进制再转,fromCharCode接受十进制参数不接二进制,我咋就没想到转二进制呢,该打。app
这一步已经很明显,图片url的base64表示方式,这代表结果将会是一张图片。一开始纠结着ASCII怎么转Base64,尝试了base64加密,出来的结果没法显示成图片,失望时想到jq的base64插件,下载后看了下readme,发现window.btoa的判断,一查才知道,强大的JavaScript已经有base64 to ascii的方法了(目前仅chrome、safari、firefox支持,http://help.dottoro.com/ljvfsbvr.php),果断直接使用,成功显示出图片。加密
后记:作完这道题,又学到了不少东西,同时也巩固了一些快生疏的知识。url
临睡前再扯一句:愿全部前端,拥抱新技术,珍爱生命,远离IE6789。spa