进入第11关,看到一张模糊的图片
起初并不知道什么意思,打开源代码也没有什么发现,直到再次看看标题odd even->奇偶
猜测PythonChallenge是要我们把图片按奇偶行、奇偶列拆开为两幅图画,于是码代码如下:
from PIL import Image
im=Image.open("cave.jpg")
width=im.size[0]
height=im.size[1]
even=Image.new(im.mode, (width/2,height/2))
odd=Image.new(im.mode, (width/2,height/2))
for x in range(width):
for y in range(height):
pixel=im.getpixel((x,y))
if x%2^y%2:
odd.putpixel(((x-1)/2, y/2) if x%2 else (x/2, (y-1)/2) , pixel)
else:
even.putpixel((x/2, y/2), pixel)
even.save('cave_even.jpg')
odd.save('cave_odd.jpg')
然后打开两幅图片,发现其中一幅和原图差不许多,另一幅是一张亮度非常低的图,上面写着evil四个字母。
把evil写入网址,进入下一关http://www.pythonchallenge.com/pc/return/evil.html
花絮:
对于even,old我猜了好多次,先是按行分奇偶,然后按列分奇偶,都fail了;直到最后按棋盘状分了奇偶才看出始末。。。
同时这也给我们提供了一种隐藏信息的方法,将一张暗图按像素拆分插入亮图,可以perfect隐藏信息yoooo!