Canvas , что по-китайски означает «холст», соответствует прямоугольной области в модуле Tkinter, предоставляя пользователям пространство для рисования. Они могут размещать на холсте графику, текст, эллипсы или кнопки и другие компоненты, а также рисовать узоры.
Прежде чем использовать компонент Canvas, мы должны сначала изучить соответствующую ему систему координат экрана.
Обычно мы используем пиксели в качестве единиц измерения изображений на компьютерах, и каждый пиксель имеет 2 значения. В компоненте Canvas координаты верхнего левого угла соответствующего окна равны (0,0), что означает, что в плоской прямоугольной системе координат. Соответствующие оси X и Y равны 0, а координаты нижнего правого угла окна представляют собой два максимальных значения по оси X и оси Y, как показано на рисунке:
Когда мы размещаем компоненты на холсте Canvas, мы должны убедиться, что координаты компонентов верны.
Синтаксическая структура Canvas:
my_canvas = Canvas (родительский класс, необязательно)
Родительский класс — это имя размещенного нами окна верхнего слоя. Опции включают bd, bg, continue, курсор, высоту, ширину, цвет выделения, рельеф, область прокрутки и т. д. Эти параметры были представлены ранее, поэтому я не буду останавливаться на них. здесь слишком подробно объяснять.
Существует множество способов рисования графики с использованием компонента Canves, включая create_line, create_rectangle, 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='pink')self.canvas.create_line(30, 30,100,200,200,200,300,200,300,300)self.canvas.pack()tkinter.mainloop()m=TK()
Эффект такой, как показано на рисунке:
Мы выбрали координаты (30,30)->(100200)->(200200)->(300300) На основе приведенных выше координат мы рисуем приведенную выше картинку.
Синтаксис создания прямоугольника:
Canvas.create_rectangle(x1,y1,x2,y2, необязательно)
Для определения прямоугольника требуется только 2 координаты, поэтому нам нужны только координаты (x1, y1) и (x2, y2) верхнего левого угла и нижнего правого угла. Код выглядит следующим образом:
importtkinterclassTK:def__init__(self):self.window=tkinter.Tk()self.canvas=tkinter.Canvas(self.window,width=300,height=300,bg='pink')self.canvas.create_rectangle(100,100,200,200) self.canvas.pack()tkinter.mainloop()m=TK()
Операция выглядит так, как показано на рисунке:
Формат синтаксиса следующий:
Canvas.create.oval(x1,y1,x2,y2,необязательно)
Позиции, соответствующие четырем координатам, показаны на рисунке:
Формат синтаксиса следующий:
Canvas.create_arc(x1,y1,x2,y2,start=angle,extent=width,необязательно)
Среди них координаты соответствуют эллипсу на рисунке выше. Значение start соответствует начальному углу дуги, а протяженность соответствует диапазону углов дуги против часовой стрелки.
Код выглядит следующим образом:
importtkinterclassTK:def__init__(self):self.window=tkinter.Tk()self.canvas=tkinter.Canvas(self.window,width=300,height=300,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()
Схема работы следующая:
Вы можете нарисовать нужную графику, изменив координаты. Дополнительные параметры включают тире, контур, ширину и ширину.
Мы можем рисовать различные узоры через холст. Конечно, у него есть и другие функции. Мы также будем использовать его в примерах в следующем разделе.