TAT 前端突击队 第四关 题目 腐蚀的画

腐蚀的画

1.一个漂亮的画作在经过几千年岁月的洗礼下,部分地方已经被腐蚀了,像一个孤独的老人,满脸爬满了皱纹.
2.但在一个晚上,老王突然发现,这些腐蚀的部分中,隐藏着岁月留下的密秘。请你帮助老王寻找这些秘密。

 

寻找过程

Step1: 拿到图像数据

请使用canvas操作将图片绘制到canvas上,canvas宽高要和图片一致(drawImage方法)

然后通过canvas API拿到图片的像素数据(getImageData)

图像的每个点由四个信息组成,分别是代表RGBA,比如rgba(24,23,122,11) 代表一个颜色点

成功帮老王拿到图像的数据了,这些大量的数据,一时让老王不知所措,面对如此大规模的数据,做为前端开发的老王从来没有遇到过,请继续帮助他找到这里隐藏的秘密吧

Step2: 像计算机一样阅读

在计算机的世界里,只有0和1。。。

对rgb的四个信息,想办法让它变成0和1,这样计算机就可以阅读了,注意:跳过A中的信息,即第四个通道Alpha中没有隐藏数据

现在,老王拿到了大量的0101数据,这些01010数据又分别代表什么呢?是不是计算机直接可以阅读呢,可是我看不到

Step3: 变成ASCII字符

将上面的01数据8位截取变成ASCII字符

变成了ASCII字符的数据让老王变得更加难堪,很多看不懂的字符

突然,老王发现这些数据中隐藏了AlloyImage几个字,难道这就是隐藏的秘密?

显然没有这么简单,老王在试了无数次之后,发现原来这是数据的结束符标记,AlloyImage前面的数据才是真正的数据

请截取AlloyImag前面的ASCII字符

老王拿到ASCII字符,实际上它们的二进制码就是计算机可以阅读的数据了,可是我们人类还是看不到,怎么办?

Step4: 转成base64数据

请将上面的数据转成base64字符

老王终于拿到了这些数据的base64字符,但要怎么把它们显示出来呢?

请继续帮助老王完成后面的操作。。。

终于,老王发现它是另外一张热辣的图片,上面还有一些红红的字,老王砰砰跳的心久久不能平静。。。

请输入上面图片中隐藏的红字  

posted @ 2014-03-22 14:47  yedeying  阅读(702)  评论(0编辑  收藏  举报