2011. 6. 23. 19:39
[ Problem ] - http://www.pythonchallenge.com/pc/return/good.html
♧ 그림을 보면 검은 점들이 많이 보인다. ♧ 소스를 보면 title은 connect the dots로 알 수 있듯이 점들을 연결시키는 문제이다.
♧ 주석에 first와 second은 좌표에 점들을 의미하는데 이것은 PIL의 ImageDraw Module중 draw.line(xy, options)를 이용하여 각 좌표의 점들을 연결 시킨다.
♧ 그럼 좌표를 연결시켜 그려 보자. 처리 순서는 다음과 같다. from PIL import Image, ImageDraw # encoding=utf8 # ① 소스에 있는 first와 second를 붙여 넣기 한다. first = [146,399,163, ...[생략]...] second = [156,141,165, ...[생략]...] # ② 이미지 생성. img = Image.new('RGB', (640,480)) draw = ImageDraw.Draw(img) # ③ 첫번째 점들을 연결시키면 황소에 몸통 부분이 녹색 으로 보인다. draw.line(first, 'green', 2) # ④ 두번째 점들을 연결시키면 황소에 얼굴 부분이 붉은색 으로 보인다. draw.line(second, 'red', 2) # ⑤ 그림을 보여준다. img.show() (※ 해당 좌표는 길어서 생략, 소스에 있는 좌표를 붙여 넣기 하자.)
♧ 출력 화면
(※ 해당 그림에 뿔이 존재 하기에 젖소(cow)가 아니라 황소 (bull)를 나타낸다.) |
[ Solution ] - http://www.pythonchallenge.com/pcc/return/bull.html
(※ 문제에 대한 다양한 해결법은 링크 참조.)
'워게임(WarGame) > PythonChallenge' 카테고리의 다른 글
[Python challenge Level11] - 5808 (odd-even) (0) | 2011.06.28 |
---|---|
[Python challenge Level10] - bull (개미수열) (0) | 2011.06.27 |
[Python challenge Level8] - integrity (bz2) (0) | 2011.06.23 |
[Python challenge Level7] - oxygen (PIL로 pixel값 처리) (0) | 2011.06.22 |
[Python challenge Level6] - channel (zipfile) (0) | 2011.06.22 |