zoukankan      html  css  js  c++  java
  • python challenge 16

    前情回顾:上一篇

    第16关地址

    打开16关,又是一张奇奇怪怪很多点点的图片,应该又是与PIL库有关的.

    页面的标题是:let me get this straight。这是英语中的一句俚语,意思是让我把这事搞清楚.在这一关中其实是让我们把每一行像素位置调整后对其.

    看这幅图片,很多红色的点,于是想到是不是这些点的像素有什么特别,将每一行的像素值打印出来后发现每一行都有连续的5个像素的值为195.

    然后把每一行的像素移位,像素值195的移到最左边,然后对其就得到了新的图片.如下:

    即下一关的url.

    代码如下:

     1 import urllib.request as ur
     2 from PIL import Image
     3 
     4 def main():
     5     im = Image.open("mozart.gif")
     6     (width,height) = im.size
     7     mode = im.mode          
     8     print(mode)
     9     print(im.size)
    10 
    11     imAnswer = Image.new(mode,(width,height)) 
    12 
    13     for y in range(height):
    14         pixels = [im.getpixel((x,y)) for x in range(width)]
    15         print(pixels)
    16         
    17         x = pixels.index(195)
    18         newpixels = pixels[x:width] + pixels[:x]
    19 
    20         for x in range(width):
    21             imAnswer.putpixel((x,y),newpixels[x])
    22 
    23     imAnswer.save('16Answer.gif')
    24         
    25 
    26 if __name__ == '__main__':
    27     main()
  • 相关阅读:
    函数式编程
    _.pick lodash
    Vue mixins extend
    js 导入json配置文件
    FormData
    shell中的调试与计算
    linux命令(6/10):find 命令
    Linux性能测试分析命令_sar+iostat+vmstat+top
    linux命令详解之(at)
    linux命令(6/9):watch命令
  • 原文地址:https://www.cnblogs.com/sdu20112013/p/4467724.html
Copyright © 2011-2022 走看看