## ++Тема 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 для рисования создается холст, на котором можно "рисовать", размещая различные фигуры и объекты. Делается это с помощью вызовов соответствующих команд ---- ### Координаты При создании холста необходимо указать его ширину и высоту. При размещении фигур и других объектов указываются их координаты на холсте. Точкой отсчета является верхний левый угол ![](https://i.imgur.com/FQ3fZP1.png) ---- ### Шаблон графической программы ```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'` -- цвет фона холста ---- ![](https://i.imgur.com/aZILRbc.png) --- ## 2. Рисование простых фигур ---- ### Линия Команда `c.create_line(x1, y1, x2, y2)` рисует на холсте отрезок с указанными координатами начала и конца, где - `x1, y1` -- координаты начала отрезка - `x2, y2` -- координаты конца отрезка Пример: `c.create_line(100, 200, 300, 400)` ---- ![](https://i.imgur.com/1Gef9PN.png) ---- ### Прямоугольник Команда `c.create_rectangle(x1, y1, x2, y2)` рисует на холсте прямоугольник, где - `x1, y1` -- координаты левого верхнего угла - `x2, y2` -- координаты правого нижнего угла Пример прямоугольника: `c.create_rectangle(100, 200, 300, 400)` ---- ![](https://i.imgur.com/HOvooL0.png) ---- ### Квадрат Чтобы получился квадрат нужно нарисовать прямоугольник, у которого ширина и высота равны - `(x2 - x1)` -- ширина - `(y2 - y1)` -- высота Пример квадрата: `c.create_rectangle(100, 200, 300, 400)` ---- ![](https://i.imgur.com/HOvooL0.png) ---- ### Круг Команда `c.create_oval(x1, y1, x2, y2)` рисует на холсте круг, где - `x1, y1` -- координаты левого верхнего угла воображаемого квадрата вокруг круга - `x2, y2` -- координаты правого нижнего угла воображаемого квадрата вокруг круга Пример круга: `c.create_oval(150, 100, 250, 200)` ---- ![](https://i.imgur.com/dTzwlWV.png) ---- ### Овал Команда `c.create_oval(x1, y1, x2, y2)` рисует на холсте овал, где - `x1, y1` -- координаты левого верхнего угла воображаемого прямоугольника вокруг овала - `x2, y2` -- координаты правого нижнего угла воображаемого прямоугольника вокруг овала Пример овала: `c.create_oval(300, 200, 400, 400)` ---- ![](https://i.imgur.com/8zEctYx.png) --- ## 3. Настройка фигур ---- ### Цвет фигур Чтобы закрасить фигуру каким-то цветом нужно добавить атрибут `fill='color'` к команде рисования - `color` -- это название цвета на английском Пример: ```python c.create_rectangle(100, 200, 300, 400, fill='blue') c.create_line(100, 200, 300, 400, fill='red') ``` ---- ![](https://i.imgur.com/aKN8PNo.png) ---- ### Цвет контура Чтобы нарисовать контур фигуры (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') ``` ---- ![](https://i.imgur.com/yk5tO9A.png) ---- ### Толщина линий Чтобы изменить толщину линий фигуры нужно добавить атрибут `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) ``` ---- ![](https://i.imgur.com/beB4enh.png) --- ## Спасибо за внимание! ![](https://i.imgur.com/gKDsna4.png) (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}]"}
    874 views