728x90
반응형
그림을 그리기 위해서는 turtle 모듈을 사용하면 편리하다. 그리고 이미지의 경우 2차원 배열을 많이 사용하므로 numpy 모듈로 함께 import 하자.
import turtle
import numpy as np
하나의 Point에 사각형을 그리는데, 일부분만 오렌지색으로 채워보는 예제를 살펴보자.
#외부 모듈 선언
import turtle
import numpy as np
#데이터
myImg = np.array([[0, 0, 0, 0, 0, 0, 0, 0], \
[0, 1, 1, 1, 0, 0, 0, 0], \
[1, 1, 1, 1, 1, 0, 0, 0], \
[1, 1, 1, 1, 1, 0, 0, 0], \
[0, 1, 1, 1, 0, 0, 0, 0], \
[0, 0, 0, 0, 0, 0, 0, 0], \
[0, 0, 0, 0, 0, 0, 0, 0], \
[0, 0, 0, 0, 0, 0, 0, 0]])
pixelSize = 10
def putPixel(x, y, pSize, pCol) :
turtle.penup() #펜 비활성화
turtle.goto(x*pSize, (-1)*y*pSize) #좌표 이동
turtle.pendown() #펜 활성화
turtle.begin_fill() #다각형 내부 채우기
turtle.fillcolor(pCol) #색깔 지정
turtle.setheading(45) # 시작 각도 지정
turtle.circle(pSize/2, steps = 4) #정사각형 픽셀 구하기
turtle.end_fill() #채우기 끝
for j in range(0, 8) :
for i in range(0, 8) :
if (myImg[j][i] > 0) :
putPixel(i, j, pixelSize, 'orange')
else :
putPixel(i, j, pixelSize, 'white')
myImg array 내부에 '1'로 선언된 부분에 오렌지색으로 채워진 사각형을 그리는 것을 확인할 수 있다.
728x90
반응형
'Program Language > Python' 카테고리의 다른 글
[Python] 이미지 합하기 (2) | 2021.10.06 |
---|---|
[Python] turtle (0) | 2021.10.06 |
[Python] CSV 파일 사용하기 (2) | 2021.10.05 |
[Python] 그래프 사용하기 (0) | 2021.10.05 |
[Python] MySQL 사용하기 (0) | 2021.08.30 |