pythonchallenge level16
http://www.pythonchallenge.com/pc/return/mozart.html
let me get this straight 라는 글귀와 그림 파일 하나가 덩그라니 있다.
이번엔 소스보기를 해도 별다른 힌트가 보이지 않는다.
어쩌라는 걸까 -_-
이젠 이미지를 보면 먼저 getpixel 로 비비게 된다.. 그런데 특이하게도 getpixel로 리턴되는 값이
RGB 형태가 아닌 그냥 숫자 하나 뿐이다. 왜 그런 것일까.
찾아보니 GIF 파일 포맷에서 사용하는 Indexed Color 때문이라는 것을 알 수 있었다.
장미님 블로그 Indexed Color에 대하여 http://blog.daum.net/ms1719/14382711
Indexed Color WIKIPEDIA http://en.wikipedia.org/wiki/Indexed_color
mozart.gif 파일을 크게 확대해보면 한 라인당 하나의 보라색 뭉텡이 들이 있는 것이 보인다.
getpixel 로 한줄 씩 읽어보니 각 라인마다 195라는 5개의 같은 값이 나타났다.
이 값들을 기준으로 정렬해보니 romance 라는 글자가 희미하게 보인다.
(나중에 안 사실이지만 좀 틀린 부분이 있었다-_-;;)
import Image im =Image.open("mozart.gif") im_new = Image.new('RGB',(640,480)) x = im.size[0] y = im.size[1] for j in range(y): for i in range(x): pix = im.getpixel((i,j)) if pix == 195: num = i break for a in range(x): if num == x: num = 0 pix = im.getpixel((num,j)) im_new.putpixel((a,j),pix) num += 1 im_new.save('result.gif')
http://www.pythonchallenge.com/pc/return/romance.html
'War game > pythonchallenge' 카테고리의 다른 글
pythonchallenge level 17 (1) | 2010.10.27 |
---|---|
pythonchallenge level 15 (0) | 2009.12.03 |
pythonchallenge level14 (0) | 2009.11.17 |
pythonchallenge level13 (0) | 2009.10.22 |
pythonchallenge level12 (0) | 2009.10.22 |
pythonchallenge level11 (0) | 2009.10.22 |
pythonchallenge level10 (0) | 2009.10.20 |
pythonchallenge level9 (0) | 2009.10.16 |
pythonchallenge level8 (0) | 2009.10.16 |
pythonchallenge level7 (0) | 2009.10.16 |