这一关主要是处理.gif图片,之前也有过,不过那个图片只有一帧,这次下载下来的有很多帧,需要一帧一帧分解。
可以看出每一帧的图片都是一个白点围绕中心(100,100)在变化,联想这一关的图片(一个游戏操纵杆),可以认为是白点相对中心的变化就是对一个点的操纵。最后的结果显示通过操纵点的运动一共画出了5个字母的轮廓,所以当白点回归到中心的时候,就是画下一个字母的信号了。
代码如下:
import Image,ImageDraw,ImageSequence
img = Image.open('white.gif')
new = Image.new('RGB',(200,200),'black')
newimg = ImageDraw.Draw(new)
x = 0
y = 0
for s in ImageSequence.Iterator(img):
l,u,r,d = img.getbbox()
dx = (l-100)
dy = (u-100)
x+=dx
y+=dy
if dx==dy==0:
x+=30
y+=30
newimg.point((x,y))
new.save('out22.png')
结果为:
所以答案就是:bonus