pythonchallenge level16

2009. 12. 4. 08:09

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

badcob War game/pythonchallenge