Python Challenge[11]

[Level 11]


Title: odd even

又是仅有图片的关卡,图片是模糊的,看似有重叠。想不出来。搜索了下,标题有奇偶的意思。奇偶,排列组合,慢慢尝试吧。

from PIL import Image
img = Image.open('cave.jpg')
for x in range(img.size[0]):
  for y in range(img.size[1]):
    img.putpixel((x//2,y//2),img.getpixel((x,y)))
img.show()

这个成功得到evil[Level 12]

小结

如果先知道标题的意思,或许思路会更清晰。

Python Challenge Wiki

1. 取出坐标,可以怎样处理呢?

coords = []
for x in range(1,im.size[0],2):
for y in range(0,im.size[1],2):
coords.append( (x,y) )
for x in range(0,im.size[0],2):
for y in range(1,im.size[1],2):
coords.append( (x,y) )
draw = ImageDraw.Draw(im)
draw.point( coords, fill="black" )


使用[PIL.ImageDraw.Draw.point(xy, fill=None)](https://pillow.readthedocs.io/en/4.0.x/reference/ImageDraw.html#PIL.ImageDraw.PIL.ImageDraw.Draw.point)在给定的位置上绘点,fill参数指定颜色。

####2. 反正处理的是二进制数据。
> `img.putdata(list(img.getdata())[0::2])`

将[`Image.getdata(band=None)`](https://pillow.readthedocs.io/en/4.0.x/reference/Image.html#PIL.Image.Image.getdata)返回的序列对象切割后再放回。

####3. 有点意外的方法
使用[`Image.resize(size, resample=0)`](https://pillow.readthedocs.io/en/4.0.x/reference/Image.html#PIL.Image.Image.resize)或[`Image.transform(size, method, data=None, resample=0, fill=1)`](https://pillow.readthedocs.io/en/4.0.x/reference/Image.html#PIL.Image.Image.transform)。两方法都是重整图片。
####[More](http://wiki.pythonchallenge.com/index.php?title=Level11:Main_Page)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 有人的地方,就有江湖,有江湖的地方,就有江湖的规矩。混江湖即是混迹一个圈子,那么混圈子就有它一个规则在。 1....
    晨海明阅读 2,784评论 0 1
  • 没想到还会在里继续写东西。 今天做了个决定,决定今年就从北京撤回杭州。也就是说,马上要跟生活了快六年的北京彻底告别...
    MIGI6阅读 2,405评论 0 0
  • 1 有一种爱,没有语言,只是一种静静的守候; 有一种爱,无需解释,只是轻轻地比划便明白其中含义; 有一种爱,尽管不...
    书香识人阅读 4,540评论 5 10
  • 在我构思这篇文章的时候,恰好有一条关于麦基的新闻映入眼帘——“科尔暗示囧神锁定勇士第15人”,再细致看去,麦基的反...
    氧气是个地铁阅读 3,203评论 0 0

友情链接更多精彩内容