중국어로 캔버스를 의미하는 캔버스는 Tkinter 모듈의 직사각형 영역에 해당하며 사용자에게 그림을 그릴 수 있는 공간을 제공합니다. 캔버스에 그래픽, 텍스트, 타원 또는 버튼 및 기타 구성 요소를 배치할 수 있으며 패턴을 칠할 수도 있습니다.
Canvas 구성 요소를 사용하기 전에 먼저 해당 화면 좌표계를 배워야 합니다.
우리는 일반적으로 컴퓨터에서 이미지의 단위로 픽셀을 사용하며 각 픽셀에는 2개의 값이 있습니다. Canvas 구성 요소에서 해당 창의 왼쪽 위 모서리의 좌표는 (0,0)입니다. 이는 평면 직사각형 좌표계를 의미합니다. 해당 x축과 y축은 모두 0이고, 창 오른쪽 하단의 좌표는 그림과 같이 x축과 Y축의 두 최대값입니다.
캔버스 캔버스에 구성 요소를 배치할 때 구성 요소의 좌표가 올바른지 확인해야 합니다.
Canvas의 구문 구조는 다음과 같습니다.
my_canvas=캔버스(상위 클래스, 선택 사항)
상위 클래스는 우리가 배치한 상위 레이어 창의 이름입니다. 옵션에는 bd, bg, continue,cursor, height, width,highlightcolor,relief,scrollregion 등이 포함됩니다. 이러한 옵션은 이전에 소개되었으므로 생략하겠습니다. 여기서는 너무 자세하게 설명하세요.
Canves 컴포넌트를 사용하여 그래픽을 그리는 방법에는 create_line, create_ectangle, create_oval, create_arc, create_polygon 등 여러 가지가 있습니다. 아래에서 하나씩 소개하겠습니다.
구문 형식은 다음과 같습니다.
canvas.create_line(x1,y1,x2,y2,...,xn,yn,옵션)
이 방법을 사용하여 캔버스의 두 점 또는 n점 사이에 직선을 그릴 수 있습니다. 처음 두 좌표(x1, y1)는 시작점이고 (xn, yn)은 끝점입니다.
코드는 다음과 같습니다:
importtkinterclassTK:def__init__(self):self.window=tkinter.Tk()self.canvas=tkinter.Canvas(self.window,width=300,height =300,bg='핑크')self.canvas.create_line(30,30,100,200,200,200,300,200,300,300)self.canvas.pack()tkinter.mainloop()m=TK()
효과는 그림과 같습니다.
우리가 선택한 좌표는 (30,30)->(100,200)->(200,200)->(300,300)입니다. 위 좌표를 기준으로 위의 그림을 그립니다.
직사각형을 생성하는 구문은 다음과 같습니다.
canvas.create_directangle(x1,y1,x2,y2, 선택사항)
직사각형을 결정하려면 2개의 좌표만 필요하므로 왼쪽 상단 모서리와 오른쪽 하단 모서리의 좌표 (x1, y1) 및 (x2, y2)만 필요합니다. 코드는 다음과 같습니다.
importtkinterclassTK:def__init__(self):self.window=tkinter.Tk()self.canvas=tkinter.Canvas(self.window,width=30 0,높이=300,bg='핑크')self.canvas.create_ectangle(100,100,200,200)self.canvas.pack()tkinter.mainloop()m=TK()
작업은 그림과 같습니다.
구문 형식은 다음과 같습니다.
canvas.create.oval(x1,y1,x2,y2,선택 사항)
4개의 좌표에 해당하는 위치는 그림과 같습니다.
구문 형식은 다음과 같습니다.
canvas.create_arc(x1,y1,x2,y2,start=각도,범위=너비,선택사항)
그 중 좌표는 위 그림의 타원에 해당합니다. 시작 값은 호의 시작 각도에 해당하고 범위는 호의 반시계 방향 각도 범위에 해당합니다.
코드는 다음과 같습니다:
importtkinterclassTK:def__init__(self):self.window=tkinter.Tk()self.canvas=tkinter.Canvas(self.window,width=300,height=30 0,bg='pink')self.canvas.create_arc(60,60,220,220,start=0,extent=120,fill='blue')self.canvas.pack()tkinter.mainloop()m=TK()
작업은 그림과 같습니다.
구문 형식은 다음과 같습니다.
canvas.create_polygon(x1,y1,x2,y2,...xn,yn,선택 사항)
각 좌표는 위치에 해당하며 첫 번째 좌표는 순서대로 연결된 첫 번째 정점이고 마지막 좌표는 자동으로 다각형을 닫습니다.
코드는 다음과 같습니다:
importtkinterclassTK:def__init__(self):self.window=tkinter.Tk()self.canvas=tkinter.Canvas(self.window,width=300,height=300,bg='pink')self.canvas .create_polygon(150,0,200,100,300,100,200,185,280,280,150,230,20,280,100,185,0,100,100,100,fill='red')self.canvas.pack()tkinter.mainloop()m=TK()
실행 다이어그램은 다음과 같습니다.
좌표를 변경하여 원하는 그래픽을 그릴 수 있습니다. 선택적 매개변수에는 대시, 윤곽선, 깊이 및 너비가 포함됩니다.
캔버스를 통해 다양한 패턴을 그릴 수 있습니다. 물론 다른 기능도 있습니다. 다음 섹션의 예제에서도 사용하겠습니다.