[Python Challenge通关]第11关 odd eve
2018-12-12 本文已影响0人
jianggushi
cave
挑战地址,点我
分析
页面上是一张模糊的图片,提示信息只有这一关的主题 odd even
。
仔细看图片,上面有一些重影,考虑应该是需要分离出奇数和偶数像素。
奇数和偶数像素怎么定义?现在有两个维度,可能有如下集中方式:
- 只考虑 x
- 只考虑 y
- 考虑 x + y
- 同时考虑 x 和 y
测试发现 3 和 4 是可以的,python 实现如下,第 3 种方式:
#!/usr/bin/env/ python3
from PIL import Image
origin = Image.open('cave.jpg')
width, height = origin.size
# 新建两个图片
odd = Image.new(origin.mode, (width//2, height//2))
even = Image.new(origin.mode, (width//2, height//2))
for x in range(width):
for y in range(height):
# 根据 x + y 的奇偶性质分离到不同的图片
if (x + y) % 2 == 0:
odd.putpixel((x//2,y//2), origin.getpixel((x,y)))
else:
even.putpixel((x//2,y//2), origin.getpixel((x,y)))
odd.show()
even.show()
输出结果:
even odd可以看到有一张图片上显示了一个单词 evil
,替换 url 就是下一关的入口 http://www.pythonchallenge.com/pc/return/evil.html
参考资源: