본문 바로가기

[Tkinter] 53강 Canvas에 선과 도형 그리기

@도마22026. 2. 16. 18:00
728x90


이 강의는 Tkinter GUI 강의 53강입니다

52강에서는
Canvas 위젯의 개념과
좌표 기반 사고 방식을 배웠습니다.

이번 강의에서는
Canvas에 선과 기본 도형을 직접 그리는 방법을 다룹니다.

이번 강의의 목표는 분명합니다.
Canvas의 기본 그리기 메서드를 익히고
좌표로 화면을 구성하는 감각을 잡는 것입니다.


Canvas 그리기의 핵심은 좌표다

Canvas에서
모든 도형은
좌표로 정의됩니다.

  • (x1, y1) → 시작점
  • (x2, y2) → 끝점 또는 반대쪽 점

좌표를 이해하면
Canvas의 절반은
이미 이해한 것입니다.


선(Line) 그리기

가장 기본적인 그리기는
선(line) 입니다.

canvas.create_line(x1, y1, x2, y2)

이 한 줄로
두 점을 잇는
선을 그릴 수 있습니다.


선 그리기 예제

import tkinter as tk

window = tk.Tk()
window.geometry("320x240")

canvas = tk.Canvas(window, width=300, height=200, bg="white")
canvas.pack(pady=20)

canvas.create_line(20, 20, 280, 20)

window.mainloop()

Canvas 상단에
가로 선이
그려집니다.


선의 색상과 두께 지정하기

canvas.create_line(20, 50, 280, 50, fill="blue", width=3)
  • fill → 선 색상
  • width → 선 두께

시각적 강조에
아주 중요합니다.


사각형(Rectangle) 그리기

사각형은
대각선 두 점으로
정의합니다.

canvas.create_rectangle(x1, y1, x2, y2)

사각형 그리기 예제

canvas.create_rectangle(50, 80, 250, 160)
 
이 좌표는
왼쪽 위와
오른쪽 아래를
의미합니다.

사각형 색상 채우기

canvas.create_rectangle(
    50, 80, 250, 160,
    outline="black",
    fill="lightgray"
)

 

  • outline → 테두리 색
  • fill → 내부 색


원(Oval) 그리기

Canvas에서
원은 oval로 그립니다.

canvas.create_oval(x1, y1, x2, y2)

 

지정한 사각형 안에
들어가는
타원 또는 원이
그려집니다.


원 그리기 예제

canvas.create_oval(100, 50, 200, 150, fill="skyblue")

좌표 간격이
같으면
완전한 원이 됩니다.


여러 도형을 함께 그려보기

import tkinter as tk

window = tk.Tk()
window.geometry("320x260")

canvas = tk.Canvas(window, width=300, height=220, bg="white")
canvas.pack(pady=10)

canvas.create_line(20, 20, 280, 20, width=2)
canvas.create_rectangle(40, 50, 140, 150, fill="lightgreen")
canvas.create_oval(160, 50, 260, 150, fill="lightblue")

window.mainloop()

Canvas가
작은 그림판처럼
보이기 시작합니다.


도형은 그리는 순서가 중요하다

Canvas는
그리는 순서대로 쌓입니다.

  • 먼저 그린 도형 → 아래
  • 나중에 그린 도형 → 위

이 순서는
나중에
레이어 개념으로
확장됩니다.


Canvas 그리기의 사고 전환

여기서 중요한 전환점입니다.

  • 버튼 중심 사고 X
  • 좌표 + 도형 사고 O

Canvas는
“배치”가 아니라
“표현”입니다.


이 단계에서 자주 하는 실수

초보자가
자주 하는 실수는 다음입니다.

  • 좌표 기준을 헷갈림
  • 도형이 안 보인다고 오류로 생각함
  • 색상 지정 누락

대부분은
좌표 문제입니다.


이번 강의 핵심 정리

이번 강의에서 꼭 기억해야 할 내용입니다.

  • create_line으로 선을 그린다
  • create_rectangle로 사각형을 그린다
  • create_oval로 원과 타원을 그린다
  • 모든 것은 좌표 기반이다

다음 강의 예고

다음 강의에서는
Canvas에 텍스트와 이미지 그리기를 다룹니다.

이제
Canvas 위에
정보를 표시하기 시작합니다.


728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차