PythonChallenge Mission 16

打开第16关,看到了一张像老式电视机信号不好时的雪花图。

并不知道什么含义后打开源代码,发现是张gif图,猜测后面隐层了几张图片,于是上代码:

from PIL import  Image

im = Image.open("mozart.gif")
magic = chr(195)
im.seek(1)
可是fail了,这仅仅是一张图片的gif,窝陷入了困境。。。

再次审视那张雪花图,发现似乎每行都有一部分粉红色的部分,又联想到title——let me get this straight。

“get sth straight” 本来是“搞明白”的意思,可在这里感觉一语双关,又有把“粉红色”拉直对齐的意思——即把每一行的粉红色部分对齐,看输出图像

经过查阅,图中粉红色部分是chr(195),于是上代码:

from PIL import  Image

im = Image.open("mozart.gif")
magic = chr(195)
im.seek(1)

for y in range(im.size[1]):
    box = 0, y, im.size[0], y+1
    row = im.crop(box)
    bytes = row.tostring()
    i = bytes.index(magic)
    print bytes[i]
    bytes = bytes[i:] + bytes[:i]#shift pink to the right border
    row.fromstring(bytes)
    im.paste(row, box)
im.show()

此时看到了这么一张图:


将网址替换为romancehttp://www.pythonchallenge.com/pc/return/romance.html,进入下一关!


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值