2011. 6. 23. 19:39

[ Problem ] - http://www.pythonchallenge.com/pc/return/good.html

♧ 그림을 보면 검은 점들이 많이 보인다.

♧ 소스를 보면 title은 connect the dots로 알 수 있듯이 점들을 연결시키는 문제이다.

♧ 주석에 first와 second은 좌표에 점들을 의미하는데

이것은 PIL의 ImageDraw Moduledraw.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

(※ 문제에 대한 다양한 해결법은 링크 참조.)

   

Posted by devanix