Інформація про новину
  • Переглядів: 4442
  • Дата: 8-05-2020, 19:39
8-05-2020, 19:39

Графічні методи модуля tkinter

Категорія: Інформатика





Попередня сторінка:  Створення інтерфейсу користувача
Наступна сторінка:   Створення анімації за допомогою Phyton

У мові Python існують різні способи роботи з графікою. Так, ви вже знайомі з черепашачою графікою, що реалізується засобами модуля turtle і дає змогу створювати яскраві зображення в окремому графічному вікні

Розглянемо, як працювати з зображеннями засобами модуля tkinter.

Полотно для малювання

У tkinter зображення створюється в межах полотна — об’єкта класу Canvas, який теж входить до модуля tkinter. Тому, перш ніж записувати оператори для малювання, потрібно створити полотно Синтаксис створення об’єкта класу Canvas:

змінна = Canvas(6aTbKiBCbK^_B^eT, width = значення, height = значення) де width — ширина полотна; height — його висота, виражені в пікселях .

Створимо полотно розміром 500 х 500 пікселів:

Для задавання положення точок на полотні використовують координати. Будь-яка точка може бути задана парою чисел (X, Y), де Х — відстань від точки до лівого краю полотна, Y — відстань від точки до верхнього краю полотна (рис . 10 . 1) .

Колір полотна — світло-сірий, за бажання можна змінити фон для майбутнього малюнка за допомогою оператора

Об’єкт Canvas має низку методів, призначених для малювання точок, ліній, прямокутників, кіл, дуг, виведення тексту.

Мєтоди полотна Canvas модуля tkinter

Розглянемо використання графічних методів полотна Canvas . Відрізок

Метод create_line креслить відрізок від точки з координатами (x1, y1) до точки з координатами (x2, у 2):

Намалюємо лінію від верхнього лівого кута полотна до правого нижнього кута: canvas.create_line(0, 0, 500, 500)

Прямокутник

Метод create_rectangle малює незаповнений прямокутник, у якого протилежні кути збігаються з точками (x1, у1) і (x2, у2) .

Сторони прямокутника паралельні сторонам екрана:

Намалюємо квадрат зі стороною завдовжки 100 пікселів:

Еліпс

Метод canvas.create_oval малює еліпс, вписаний у прямокутник, який задано координатами двох протилежних вершин (x1, у1) і (x2, у2) (рис . 10 . 2):

canvas.create_oval(x1, yl, x2, y2)

Намалюємо коло діаметром 100 пікселів: canvas.create_oval(220, 30, 319, 129);

Багатокутник

Метод canvas.create_polygon малює багатокутник за координатами його вершин (рис . 10.3):

За замовчуванням контури всіх об’єктів і заливка багатокутника мають чорний колір .

Щоб створити кольорові рисунки, до переліку параметрів графічних методів потрібно додати параметри fill (колір заливки) і outline (колір лінії) . Можна також збільшити товщину лінії, задавши значення параметра width .

Щоб отримати багатокутник без заливки, слід обов’язково задати значення параметра fill = '' .

Намалюємо червоний круг із синім контуром завтовшки 3 пікселі:

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

Засобами tkinter можна вивести на полотно зображення з графічного файла. Для цього потрібно ім’я графічного файла завантажити до змінної за допомогою функції PhotoImage(file = 'ім'я файла') і викликати метод create_image.

Виведемо на полотно рисунок picture1.gif, який міститься в кореневому каталозі диска D:

Параметр anchor визначає розташування рисунка на полотні Значення NW вказує на верхній лівий кут полотна (рис . 10.4) .

Засобами tkinter можна завантажувати тільки зображення формату GIF (файли з розширенням .gif) .

Методи canvas.create_... повертають числове значення — ідентифікатор створеного об’єкта

Його зручно зберегти в змінній для подальших дій із об’єктом: ball = canvas.create_oval(10, 10, 30, 30) — змінна ball зберігатиме ідентифікатор круга

Ми розглянули найпростіші способи роботи з віджетом Canvas модуля tkinter За допомогою графічних методів Canvas можна створювати рисунки як комбінацію геометричних фігур

Питання для самоперевірки

1. Опишіть систему координат полотна Canvas .

2. Опишіть алгоритм створення полотна Canvas .

3. Як вивести на полотно зображення з графічного файла?

4. Як побудувати круг зеленого кольору радіусом 100, центр якого збігається з центром полотна?

5. Запишіть фрагмент програми для побудови трикутника з вершинами в точках (100, 100), (150, 100), (80, 70); колір ліній — червоний, заливка відсутня.

6. Складіть програми для побудови наведених малюнків (рис . 10 . 5) .

Вправа іо

Скласти програму для заповнення полотна випадковими прямокутниками

У Python IDLE виберіть команду File ^ New File.

1) Імпортуйте необхідні модулі: from tkinter import*

from random import*

2) Створіть графічне вікно й додайте до нього полотно розміром 200 х 200.

3) Опишіть функцію користувача draw_rectangle() для накреслення прямокутника, координатами вершин якого є випадкові числа Функція draw_rectangle() приймає аргументи width і height, і будує прямокутник з випадковими координатами лівого верхнього кута в діапазонах (0, width) і (0, height):

4) З основної програми в циклі for 30 разів викличте функцію draw_rectangle() . Заповніть полотно чорними прямокутниками з випадковими координатами вершин (рис. 10.6):

5) Змініть функцію draw_rectangle, додавши аргумент fill_color — колір заливки прямокутника. До переліку параметрів методу create_rectangle додайте параметр fill і присвойте йому значення fill_color. Після запуску полотно буде заповнене кольоровими прямокутниками (рис . 10. 7):

6) Змініть функцію draw_rectangle так, щоб малювалися кола з випадковими координатами

Комп’ютерне тестування

Виконайте тестове завдання 10 із автоматичною перевіркою результату

 

 

Це матеріал з підручника Інформатика за 7 клас Бондаренко

 




Попередня сторінка:  Створення інтерфейсу користувача
Наступна сторінка:   Створення анімації за допомогою Phyton



^