Урок 9. Полотно для малювання Canvas. Вставка малюнків у програму

Поле для малювання Canvas

Віджет Canvas – клас полотна для малювання.
Загальний синтаксис створення полотна:

name = Canvas(window)
name – ім'я полотна для малювання, window – ім'я вікна, на якому воно розташоване.
Клас Canvas створює холсти, на яких можна розміщувати різні фігури. Це робиться за допомогою виклику відповідних методів. Під час розміщення геометричних примітивів вказуються їхні координати на холсті. Точкою відліку є лівий верхній кут.

Властивості віджета Canvas

Методи віджета Canvas

Малювання прямокутників (метод create_rectangle)

from tkinter import *                              # імпортування графічної бібліотеки
root = Tk()                                        # створення головного вікна
c = Canvas(root, width=200, height=200)            # створення полотна шириною та висотою 200
c.pack()
c.create_rectangle(10, 10, 100, 190)    # малювання першого прямокутника з лівою верхньою вершиною (10,10) та правою 
                                        # нижньою (100,190)
c.create_rectangle(120, 50, 190, 120,               # вершини другого прямокутника
                   fill='lightpink',                # колір заливки
                   outline='blue',                  # колір межі
                   width=3,                         # ширина межі
                   activedash=(5, 4))               # коли над прямокутником миша, межа стає штриховою
root.mainloop()                                    # задання команди відображення вікна при запуску
Малювання тексту (метод create_text)

from tkinter import *                              # імпортування графічної бібліотеки
root = Tk()                                        # створення головного вікна
c = Canvas(root, width=200, height=200)            # створення полотна шириною та висотою 200
c.pack()
c.create_text(100, 100,                            # координати центрування тексту
              text="I like \nTkinter!",            # текст, що відображатиметься на полотні
              justify=CENTER,                      # вирівнювання тексту по центру
              font="Verdana 14")                   # тип і розмір шрифту
root.mainloop()
# задання команди відображення вікна при запуску

Виведення зображень з графічних файлів

Для виведення на полотно зображення з графічного файлу потрібно шлях до графічного файла завантажити до змінної за допомогою функції PhotoImage (file = 'шлях до файла') і викликати метод create_image.
Якщо графічний файл збережено в папку програми, достатньо вказати лише назву файлу.
Приклад:
Вивести на полотно малюнок picture1.gif, який розташований на диску D:

my_image = PhotoImage(file=' d:\\picture1.gif')
canvas.create_image(0, 0, anchor=NW, image=my_image)

Приклад


from tkinter import*
root=Tk()
root.geometry("600x300")
root.title("Horbach Vasyl")
pole=Canvas(width=600,height=300)                  #Створення шару 600х600
pole.pack()
image2=PhotoImage(file="back.png")                  #Імпорт фону
image1=PhotoImage(file="logo.png")                  #Імпорт логотипу

pole.create_image(300,150, image=image2)            #розміщення фону 
pole.create_image(120,120, image=image1)            #розміщення логотипу

pole.create_text(400, 120,                            # координати центрування тексту
              text="Ліцей №1 \n  Володимирської міської ради",            # текст, що відображатиметься на полотні
              justify=CENTER,                      # вирівнювання тексту по центру
              font="Verdana 24",                   # вибір шрифту та розміру
              fill="#00FF7F")                         # заливка кольором