Lekce 6: Kreslení elips

python.edumach.cz



1. Elipsy

Již víme, že příkaz canvas.create_rectangle(100, 50, 200, 100) nakreslí obdélník, jehož levý horní bod má souřadnici [100, 50] a pravý dolní bod má souřadnice [200, 100]. Použijeme-li stejné souřadnice, ale změníme-li příkaz create_rectangle na create_oval, nakreslí se elipsa.

Tento program se stejnými souřadnicemi, ale různými příkazy:

# 06_1.py

import tkinter
canvas = tkinter.Canvas()
canvas.pack()

canvas.create_rectangle(100, 50, 200, 100)
canvas.create_oval(100, 50, 200, 100)

Nakreslí obdélník i elipsu.

Jak vidíme na obrázku, souřadnice bodů, které určují elipsu (oval), se nenacházejí na elipse, ale mimo ni. Tyto body jsou souřadnice obdélníku, ve kterém je nakreslena vepsaná elipsa (tj. největší možná elipsa, která se do tohoto pomyslného obdélníku vejde).

Pouze příkazem pro nakreslení elipsy program nakreslí pouze samotnou elipsu:

# 06_2.py

import tkinter
canvas = tkinter.Canvas()
canvas.pack()

canvas.create_oval(100, 50, 200, 100)

Při kreslení elipsy nám může pomoci nejprve vymyslet souřadnice, abychom nakreslili správný obdélník (v něm si představíme největší elipsu) a teprve poté, až budeme mít správné souřadnice, změníme tento příkaz na elipsu.

2. ❓ Otázky

  1. Jedním příkazem můžeme nakreslit obdélník.
    a) Potřebujeme speciální příkaz k nakreslení čtverce?
    b) Jak poznáme, že souřadnice v příkazu pro obdélník kreslí čtverec?

  2. Můžeme použít příkaz create_oval ke kreslení kruhů? Potřebujeme speciální příkaz pro kreslení kruhů? Jak víme, že souřadnice v příkazu nakreslí kružnici?

3. Velikost plátna a jeho barva

V jednom programu můžeme také nakreslit více obrázků vedle sebe. Pokud nám velikost plátna nestačí, nebo chceme změnit barvu jeho pozadí, můžeme tak učinit na začátku programu při vytváření plátna. Výšku a šířku nastavíme parametry height, a width, barvu pozadí parametrem bg.

import tkinter
canvas = tkinter.Canvas(bg='white', width=800, height=600)
canvas.pack()

Lze použít jen jeden parametr, dva nebo všechny tři. Na pořadí jejich zápisu nezáleží.

4. 💾 Cvičení

4.1. Dvě elipsy vedle sebe

  1. K elipse canvas.create_oval(100, 50, 200, 100) nakreslete stejně velkou elipsu hned vedle.
  2. Pro obě elipsy nastavte různé barvy výplně, obrysy a také tloušťky čar.

4.2. Vlajka Japonska

Nakreslete vlajku Japonska. Její rozměr bude 100×150 bodů.

4.3. Sněhulák

Nakreslete sněhuláka (jak na to). Přidejte mu na hlavu hrnec (obdélník nebo čtverec).

4.4. Půlměsíc

Nakreslete červený půlměsíc:

4.5. Obličej

Nakreslete symetrický obličej (jak na to):

Přidejte na obličej brýle nebo uši.

4.6. UFO

4.7. Postava s kloboukem

Nakreslete postavičku s kloboukem: