Створення полотна для малювання у мові програмування Python : Малювання у Python – це, мабуть, найцікавіша частина у всьому курсі програмування. Полотно для малювання — частина вікна (або все вікно), у якій може бути здійснене малювання об’єктів. Для створення полотна існує функція Canvas() і застосовується вона таким чином:назва_полотна=Canvas(назва_вікна, атрибут1...)Атрибути (властивості) полотна• width=число_у_пікселях — ширина полотна;• height=число_у_пікселях — висота полотна;• bg="колір" — колір фону. Увага! Потрібно обов’язково розмістити полотно у вікні за допомогою методу place(х=число (відступ зліва), у=число (відступ зверху))або додати метод pack() розміщення на все вікно поля для малюванняcanvas.pack()
Зображення основних графічних об’єктів у Python. У програмах часто використовують малюнки: ілюстрації, рухомі зображення, фони тощо. Деякі середовища програмування мають засоби, які забезпечують додавання готових зображень до програмного коду або створення і форматування малюнків у самій програмі. Наприклад, у навчальному середовищі створення та виконання алгоритмів Скретч ви використовували такі засоби для роботи з графікою:• змінювали образи об’єктів, завантажуючи їх із бібліотеки;• малювали об’єкти у вбудованому графічному редакторі;• виконували побудову зображень виконавцем, вказуючи у програмному коді команди групи Олівець
Відображення рисунків із зовнішніх файлів. Продовження. Для відображення рисунків у модулі tkinter можна використовувати зображення у форматі .gif, .png, .jpg та інших підтримуваних форматах. Основний підхід полягає в тому, щоб завантажити зображення з файлу, створити його примірник уформаті, зрозумілому для tkinter, і відобразити його на вікні за допомогою відповідного віджета.
Відображення рисунків із зовнішніх файлів. Для роботи із зображеннями в Tkinter є два класи Bitmap. Image та Photo. Image . Bitmap. Image є простим двоколірним зображенням, Photo. Image — повнокольоровим зображенням. Bitmap. Image. Конструктор класу приймає такі аргументи:background та foreground — кольори фону та переднього плану для зображення. Оскільки зображення двокольорове, ці параметри визначають відповідно чорний і білий колір;file і maskfile - шляхи до файлу із зображенням і до маски (зображення, що вказує які пікселі будуть прозорими);data та maskdata – замість шляху до файлу можна вказати вже завантажені в пам'ять дані зображення. Ця можливість зручна для вбудовування зображення у програму.
Photo. Image. Photo. Image дозволяє використовувати повнокольорове зображення. Крім того, у цього класу є кілька (досить примітивних) методів для роботи із зображеннями. Photo. Image гарантовано розуміє формат GIF. Аргументи конструктора:file - шлях до файлу із зображенням;data — замість шляху до файлу можна вказати вже завантажені на згадку дані зображення. Зображення у форматі GIF можуть бути закодовані за допомогою base64. Ця можливість зручна для вбудовування зображення у програму;format - явна вказівка формату зображення;width , height - ширина та висота зображення;gamma - корекція гами;palette - зображення палітри. Відображення рисунків із зовнішніх файлів.
Методи tkinter для малювання на полотні: Метод create_image є частиною модуля canvas в бібліотеці tkinter і використовується для створення об'єкта зображення на полотні (canvas). Він дозволяє відображати зображення у вікні програми. Синтаксис методу create_image виглядає так: Загалом, метод create_image дозволяє вставляти зображення на полотно та контролювати його розташування та відображення у вікні програми.
Параметри методу create_imagex і y: вказують координати верхнього лівого кута зображення на полотні.anchor (необов'язковий): вказує якорну позицію зображення на полотні. Можливі значення для anchor - N, NE, E, SE, S, SW, W, NW або CENTER. За замовчуванням використовується CENTER.image: об'єкт Photo. Image, який представляє зображення, яке потрібно відобразити.
Практичне завдання. Створити вікно програми з розміром 500x500 пікселів. На вікні створити полотно (canvas) розміром 500x500 пікселів з блакитним фоном. На полотні намалювати лінію з координатами [100,100] до [200,200]. Лінія повинна мати ширину 3 пікселі і зелений колір. Запустити головний цикл вікна програми для його відображення і обробки подій. Таким чином, програма створює вікно з полотном і малює на ньому зелену лінію. Вправа 1. Побудова графічних обєктів модуля tkinter