## ++Тема 2++<br>Работа с графикой
(c) Яценко Р.Н., 2018-2021
[Учебный центр компьютерных технологий "Кит"](http://kit.kh.ua/)
<img src="https://i.imgur.com/Kh901c1.png" style="width: 150px; position: fixed; top: 10px; right: 10px; border: 0; box-shadow: none;">
---
## 1. Создание холста для рисования
----
### Создание холста (Canvas)
В Python для рисования создается холст, на котором можно "рисовать", размещая различные фигуры и объекты. Делается это с помощью вызовов соответствующих команд
----
### Координаты
При создании холста необходимо указать его ширину и высоту. При размещении фигур и других объектов указываются их координаты на холсте. Точкой отсчета является верхний левый угол

----
### Шаблон графической программы
```python
# Что?
# Кто?
# Когда?
from tkinter import *
window = Tk()
c = Canvas(window, width=500, height=500, bg='white')
c.pack()
# Команды рисования
window.mainloop()
```
- `width=500` -- ширина холста
- `height=500` -- высота холста
- `bg='white'` -- цвет фона холста
----

---
## 2. Рисование простых фигур
----
### Линия
Команда
`c.create_line(x1, y1, x2, y2)`
рисует на холсте отрезок с указанными координатами начала и конца, где
- `x1, y1` -- координаты начала отрезка
- `x2, y2` -- координаты конца отрезка
Пример:
`c.create_line(100, 200, 300, 400)`
----

----
### Прямоугольник
Команда
`c.create_rectangle(x1, y1, x2, y2)`
рисует на холсте прямоугольник, где
- `x1, y1` -- координаты левого верхнего угла
- `x2, y2` -- координаты правого нижнего угла
Пример прямоугольника:
`c.create_rectangle(100, 200, 300, 400)`
----

----
### Квадрат
Чтобы получился квадрат нужно нарисовать прямоугольник, у которого ширина и высота равны
- `(x2 - x1)` -- ширина
- `(y2 - y1)` -- высота
Пример квадрата:
`c.create_rectangle(100, 200, 300, 400)`
----

----
### Круг
Команда
`c.create_oval(x1, y1, x2, y2)`
рисует на холсте круг, где
- `x1, y1` -- координаты левого верхнего угла воображаемого квадрата вокруг круга
- `x2, y2` -- координаты правого нижнего угла воображаемого квадрата вокруг круга
Пример круга:
`c.create_oval(150, 100, 250, 200)`
----

----
### Овал
Команда
`c.create_oval(x1, y1, x2, y2)`
рисует на холсте овал, где
- `x1, y1` -- координаты левого верхнего угла воображаемого прямоугольника вокруг овала
- `x2, y2` -- координаты правого нижнего угла воображаемого прямоугольника вокруг овала
Пример овала:
`c.create_oval(300, 200, 400, 400)`
----

---
## 3. Настройка фигур
----
### Цвет фигур
Чтобы закрасить фигуру каким-то цветом нужно добавить атрибут `fill='color'` к команде рисования
- `color` -- это название цвета на английском
Пример:
```python
c.create_rectangle(100, 200, 300, 400, fill='blue')
c.create_line(100, 200, 300, 400, fill='red')
```
----

----
### Цвет контура
Чтобы нарисовать контур фигуры (rectangle, oval) другим цветом нужно добавить атрибут `outline=color` к команде рисования
- `color` -- это название цвета на английском
Пример:
```python
c.create_rectangle(100, 200, 300, 400, fill='yellow', outline='blue')
c.create_line(100, 200, 300, 400, fill='red')
```
----

----
### Толщина линий
Чтобы изменить толщину линий фигуры нужно добавить атрибут `width=толщина` к команде рисования
- `толщина` -- это толщина линий в пикселях
Пример:
```python
c.create_rectangle(100, 200, 300, 400,
fill='yellow', outline='blue', width=3)
c.create_line(100, 200, 300, 400, fill='red', width=5)
```
----

---
## Спасибо за внимание!

(c) Яценко Р.Н., 2018-2021
[Учебный центр компьютерных технологий "Кит"](http://kit.kh.ua/)
{"metaMigratedAt":"2023-06-15T12:42:54.382Z","metaMigratedFrom":"YAML","title":"Тема 2. Работа с графикой","breaks":false,"slideOptions":"{\"allottedMinutes\":80,\"theme\":\"beige\",\"slideNumber\":\"c\",\"spotlight\":{\"enabled\":true}}","description":"© Яценко Р.Н., 2018-2021","contributors":"[{\"id\":\"93a8c43f-1b5b-4461-9101-89b183ccbc1c\",\"add\":4467,\"del\":292}]"}