Отримання знань
дистанційна підтримка освіти школярів
Програми з полотном для малювання (пояснення)
Задача “Canvas_28_01.py”
Написати програму, яка будує вікно з назвою “figyru”, на якому зображено полотно для малювання зеленого кольору. На полотні зобразити світло-фіолетовий овал із темно-фіолетовою межею (I чверть), жовтий прямокутник із оранжевим ободком (I чверть) та блакитний п’ятикутник із синьою межею (III чверть).
Розв’язання
from Tkinter import *
# підключаємо бібліотеку Tkinter для роботи з вікнами
win = Tk()
# створюємо об’єкт “вікно” із назвою win
win.title ('figyru')
# вказуємо заголовок вікна “figyru”
paint = Canvas (win, bg='#2E8B57')
# створюємо об’єкт “полотно для малювання” paint, яке буде розміщуватися на вікні win; вказуємо колір фону
paint.pack()
# розміщуємо створене полотно paint на вікні win
paint.create_oval (30, 40, 150, 100, fill='#EE82EE', outline='#800080', width=4)
# на полотні створюємо овал, вписаний у прямокутник із протилежними вершинами (30, 40) і (150, 100);
# задаємо колір всередині овалу fill, колір межі outline та товщину межі width - 4 пікселі
paint.create_rectangle (220,40,350,100, fill='#FFD700', outline='#FF7F50', width=6)
# на полотні створюємо прямокутник із протилежними вершинами (220, 40) і (350, 100);
# задаємо колір всередині прямокутника fill, колір межі outline та товщину межі width - 6 пікселів
paint.create_polygon (30, 170, 100, 150, 160, 170, 160, 210, 70, 240, fill='#6495ED', outline='#0000CD', width=3)
# на полотні створюємо п’ятикутник із вершинами (30, 170), (100, 150), (160, 170), (160, 210), (70, 240);
# задаємо колір всередині п’ятикутника fill, колір межі outline та товщину межі width - 3 пікселі
win.mainloop()
# запускаємо вікно
Задача “Canvas_28_02.py”
Написати програму, яка на канві вікна зображує 5 рожевих овалів, розміщених довільним чином.
Розв’язання
Для зображення 5 овалів організуємо цикл, поки лічильник овалів i буде менший або дорівнюватиме 5.
![]() |
Щоб овали мали різне розташування на полотні, будемо генерувати координати їх верхнього лівого кута (x, y). Координати протилежної вершини легко вирахувати. Якщо по осі Ох ми згенерували кординату лівої вершини x, а ширина овала дорівнює 60, то права вершина матиме координату x+60. Аналогічно координата по осі Оу правої вершини буде y+40. |
Розглянемо код програми.
from Tkinter import *
# підключаємо бібліотеку Tkinter для роботи з вікнами
from random import *
# підключаємо генератор випадкових чисел random
win= Tk()
# створюємо об’єкт “вікно” із назвою win
win.title('dovilnuj oval')
# вказуємо заголовок вікна “dovilnuj oval”
paint=Canvas (win, bg='#FFB6C1')
# створюємо об’єкт “полотно для малювання” paint, яке буде розміщуватися на вікні win; вказуємо колір фону
paint.pack()
# розміщуємо створене полотно paint на вікні win
i=1
# відлік овалів починаємо з 1
while i<=5:
# поки не зобразили 5 овалів
x=randint (0, 200)
# генеруємо координату x лівого верхього кута овалу із проміжку [0, 200)
y=randint (0, 150)
# генеруємо координату y лівого верхього кута овалу із проміжку [0, 150)
paint.create_oval (x, y, x+60, y+40, fill='#FF00FF', outline='#DB7093',width=3)
# на полотні створюємо овал, вписаний у прямокутник із протилежними вершинами (x, y) і (x+60, y+40);
# задаємо колір всередині овалу fill, колір межі outline та товщину межі width - 3 пікселі
i=i+1
# збільшуємо значення лічильника овалів i на 1
win.mainloop()
# запускаємо вікно win