[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參數(shù)指定顏色辑莫。
####2. 反正處理的是二進制數(shù)據(jù)。
> `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)