Модуль питон для рисования

Графика в Python

Графика в Python.

С помощью графики в Python можно рисовать фигуры и изображения, создавать анимацию, визуализировать математические вычисления в Python. В программах python можно использовать элементы графики в компьютерных играх.
Для работы с графикой в Python нужно импортировать модуль graphics.py. Как установить модуль graphics в Python.
Чтобы начать работу с графикой в Python, нужно создать окно для графики
Графический объект = GraphWin(«Название окна для графики», ширина окна для графики в пикселях, высота окна для графики в пикселях)
GraphWin это ключевое слово, которое задаёт окно графической области, в котором будут отображаться графические объекты.
В качестве параметров этой функции указывается название окон для графики, ширина и высота окон в пикселях.
После запуска программы откроется окно для графики, где будут отображаться графические объекты.
Вся работа с графикой будет осуществляться нами через графические объекты.
Общая структура работы с графическими объектами в Python
Графический_объект.Вызов_команды()
Общая структура графической программы в Python.
# импортируем библиотеку graphics
from graphics import *
# создаём окно для графики
win = GraphWin(«Окно для графики», 400, 400)
# . рисуем все объекты.
win.getMouse() # ждём нажатия кнопки мыши
win.close() # закрываем окно для графики
В этой программе мы определили объект графическое окно win и открыли его с размерами 400 на 400 пикселей.
Команда win.getMouse() ожидает нажатие на любую кнопку мыши, наведённую на область окна win.
win.close() закрывает окно для графических объектов win.
С помощью модуля graphics.py в программах на Python можно отобразить точку, линию, окружность, прямоугольник, эллипс и многоугольник, вывести текст на экран.
Чтобы задать расположение объекта в графическом окне Python, необходимо указать его координаты в системе координат Python. Начало координат находится в левом верхнем углу окна для графики.
Положительное направление оси X определяется слева направо, оси Y определяется сверху вниз. Чем больше значение координаты X, тем правее точка, чем больше значение координаты Y, тем точка ниже. Чтобы нарисовать заданный объект obj в окне для графики win, нужно использовать процедуру obj.draw(win)
Перед тем, как рисовать графические объекты в заданном графическом окне, нужно их задать.
Для задания точки в Python используется функция Point(x, y)
obj = Point(x, y)
x, y – координаты точки.
Пример программы на Python, которая задаёт и отображает точку в графическом окне.
from graphics import * # импортируем библиотеку graphics
win = GraphWin(«Окно для графики», 400, 400) # создаём окно для графики размером 400 на 400 пикселей
obj = Point(50, 50) # создаём точку в координатах (50, 50)
obj.draw(win) # отображаем точку в окне для графики
win.getMouse() # ждём нажатия кнопки мыши
win.close() # закрываем окно для графики
Для задания отрезка в Python используется функция Line(объект точка первого конца, объект точка второго конца)
obj = Line(Point(x1, y1), Point(x2, y2))
x1, y1 – координаты начала отрезка линии,
x2, y2 – координаты конца отрезка линии.

Читайте также:  Кошка рисование ранний возраст

Чтобы задать цвет рисования линий в Python используется команда obj.setOutline(«цвет»)
Пример программы на Python, которая отображает линию в графическом окне.
from graphics import *
win = GraphWin(«Окно для графики», 400, 400)
obj = Line(Point(50, 50), Point(350, 350))
obj.setOutline(«blue»)
obj.draw(win)
win.getMouse()
win.close()
Для отображения окружности в Python используется
obj = Circle(Point(x, y), R)
x, y – координаты центра окружности,
R – радиус окружности.
Пример программы на Python, которая отображает окружность в графическом окне.
from graphics import *
win = GraphWin(«Окно для графики», 400, 400)
obj = Circle(Point(200, 200), 50)
obj.draw(win)
win.getMouse()
win.close()
Для отображения прямоугольника в Python используется процедура
obj = Rectangle(Point(x1, y1), Point(x2, y2))
x1, y1 – координаты левого верхнего угла прямоугольника,
x2, y2 – координаты правого нижнего угла прямоугольника
Пример программы на Python, которая отображает прямоугольник в графическом окне.
from graphics import *
win = GraphWin(«Окно для графики», 300, 300)
obj = Rectangle(Point(50, 50), Point(200, 250))
obj.draw(win)
win.getMouse()
win.close()


Для отображения эллипса в Python используется процедура
obj = Oval(Point(x1, y1), Point(x2, y2))
x1, y1 – координаты первого фокуса эллипса,
x2, y2 – координаты второго фокуса эллипса.
Пример программы на Python, которая отображает эллипс в графическом окне.
from graphics import *
win = GraphWin(«Окно для графики», 300, 300)
obj = Oval(Point(100, 100), Point(250, 200))
obj.draw(win)
win.getMouse()
win.close()


Для отображения многоугольника в Python используется процедура
obj = Polygon(Point(x1, y1), Point(x2, y2),…, Point(xn, yn))
x1, y1, x2, y2,…, xn, yn – координаты вершин многоугольника.
Пример программы на Python, которая отображает пятиугольник в графическом окне.
from graphics import *
win = GraphWin(«Окно для графики», 400, 400)
obj = Polygon(Point(10, 10), Point(300, 50), Point(200, 300), Point(150, 150), Point(70, 70))
obj.draw(win)
win.getMouse()
win.close()

Определение цвета закрашивания графического объекта в Python

Чтобы задать цвет закрашивания графического объекта в python используется команда obj.setFill(«цвет»)

Читайте также:  Челлендж для рисования по гарри поттеру

Пример программы на Python, которая рисует закрашенную синюю окружность

from graphics import *
win = GraphWin(«Окно для графики», 400, 400)
obj = Circle(Point(200, 200), 50)
obj.setFill(«blue»)
obj.draw(win)
win.getMouse()
win.close()

Для редактирования границ объектов в Python используются процедуры setOutline(“цвет границы”) и
setWidth(ширина границы).
obj.setOutline(«blue») – объект obj отображается с границей синего цвета.
obj.setWidth(5) – объект obj отображается с шириной границы 5 пикселей.
По умолчанию графический объект в Python будет отображаться с границами чёрного цвета шириной 1 пиксель.
Пример программы на Python, которая отображает фигуру с синей границей и заливкой в графическом окне.
from graphics import *
win = GraphWin(«Окно для графики», 310, 310)
obj = Polygon(Point(10, 10), Point(300, 50), Point(200, 300), Point(150, 150), Point(70, 70))
obj.setOutline(«blue»)
obj.setWidth(5)
obj.setFill(«cyan»)
obj.draw(win)
win.getMouse()
win.close()


Чтобы переместить графический объект в Python, используется процедура move(dx, dy) , которая перемещает объект на dx пикселей вправо и dy пикселей вниз.
obj.move(50, 50) смещает объект obj на 50 пикселей вправо и 50 пикселей вниз.
Для клонирования объектов используется процедура clone()
newObj = obj.clone()
С помощью этой команды создаётся новый графический объект newObj, который идентичен объекту obj.
Для удаления фигур с экрана используется процедура undraw() Объект удаляется с графического окна, но не удаляется из памяти.
obj.undraw()
Пример программы на Python, которая удаляет, перемещает и копирует объект в графическом окне.
from graphics import *
win = GraphWin(«Окно для графики», 400, 400)
obj = Polygon(Point(30, 10), Point(30, 50), Point(20, 30), Point(15, 30), Point(7, 7))
obj.setOutline(«blue»)
obj.setWidth(2)
obj.setFill(«cyan»)
obj.draw(win)
win.getMouse()
obj.undraw()
win.getMouse()
obj.draw(win)
obj.move(100, 100)
win.getMouse()
shape = obj.clone()
shape.move(-100, -100)
shape.draw(win)
win.getMouse()
win.close()
Для создания текста в графическом окне в Python используется команда

текстовый объект= Text(координаты точки размещения текста, “Текст”)
msg = Text(Point(50, 100), “Hello World!”)
На экран в точке с координатами (50, 100) выведется текст со строкой Hello World!
Для изменения размера текста используется команда текстовый объект.setSize(размер текста)
msg.setSize(12)
Цвет текста изменяется с помощью метода setTextColor(цвет)
msg.setTextColor(“black”)
Текст в графическом объекте можно заменить с помощью метода setText(“Текст”)
msg.setText(“Другой текст”)
Стиль текста изменяется с помощью процедуры setStyle(стиль)
msg.setStyle(“bold”)
Стиль normal изменяет стиль текста на обычный, bold меняет стиль на полужирный, italic меняет стиль на курсив, bold italic меняет стиль текста на полужирный курсив.
Пример программы на Python, которая отображает текст в графическом окне.
from graphics import *
win = GraphWin(«Окно для графики», 400, 400)
obj = Polygon(Point(10, 10), Point(300, 50), Point(200, 300), Point(150, 150), Point(70, 70))
obj.setOutline(«blue»)
obj.setWidth(5)
obj.setFill(«cyan»)
obj.draw(win)
win.getMouse()
obj.undraw()
msg = Text(Point(200, 200), «Фигура удалилась с экрана»)
msg.setSize(12)
msg.setTextColor(«black»)
msg.setStyle(«bold italic»)
msg.draw(win)
win.getMouse()
win.close()

Вернуться к содержанию Следующая тема Графика turtle черепашка в питон

Источник

Графика в Python: Tkinter и Canvas

В статье рассматривается создание графических интерфейсов с помощью библиотеки Tkinter. Отдельное внимание уделяется виджету Canvas, предназначенному для рисования (draw) в Python.

Tkinter представляет собой графическую кроссплатформенную библиотеку на основе средств Tk. Это свободное ПО, которое включено в стандартную библиотеку языка программирования Python.

В состав Tkinter входит много компонентов. Один из них — Canvas, он же «Холст». Canvas применяется в Python для вывода следующих графических примитивов:

Но прежде чем продолжить, следует вкратце рассказать о существующих методах позиционирования элементов.

Позиционирование элементов в Python. Python grid

Для позиционирования элементов, во время работы с Tkinter используют разные методы:

Метод grid позволяет поместить элемент в конкретную ячейку условной сетки либо грида. Используется ряд параметров:

  • column — это номер столбца, отсчитывается с нуля;
  • row — это номер строки, отсчитывается с нуля;
  • columnspan — указывает число столбцов, занимаемых элементом;
  • rowspan — указывает число строк;
  • ipadx и ipady — подразумеваются отступы по горизонтали и вертикали от границ компонента до текста компонента;
  • padx и pady — аналогичные отступы, но от границ ячейки грида до границ компонента;
  • sticky — определяет выравнивание элемента в ячейке в случае, когда ячейка больше компонента.

Для начала работы с Tkinter библиотеку сначала надо импортировать:

from tkinter import *

Ниже определен грид из девяти кнопок:

Canvas: рисуем линии в Python

Виджет Canvas предоставляет функциональность, с помощью которой разработчик может нарисовать (drawn) графику в Tkinter. Для чего может понадобиться эта графика? К примеру, для получения статистики, создания своих виджетов, отрисовки небольших игр.

Начинать освоение Canvas лучше всего с линий — примитивных геометрических элементов. В Canvas линию с нужным размером можно создать через метод create_line() . Метод mainloop используется для вызова окна виджета.

У create_line() есть параметры — это координаты x и y . Именно они обозначают начальные и конечные точки будущего линейного отрезка. Вот как этот метод рисует (draws) обычную вертикальную линию:

Можно создавать и пунктирную линию — для этого существует опция dash . У этой опции есть собственные значения, помещенные в скобки. В примере это (4, 2).

  • цифра 4 обозначает длину тире (точки) в пикселях;
  • цифра 2 отвечает за ширину (width) пустого промежутка, существующего между тире (точками).

Если прописать dash=(1, 1) , на выходе получится линия из точек.

Когда рисуешь обычную линию, можно указать в качестве координат несколько конечных точек. Кусочек кода ниже отвечает за отрисовку треугольника — он ведь тоже состоит из простых линий.

В результате весь код отработает следующим образом:

Canvas: рисуем цветные прямоугольники в Python

Цвет — это объект, отображающий комбинацию трех цветов (красного, зеленого, синего — RGB). С помощью кода ниже были нарисованы прямоугольники. Также они были закрашены различными цветами.

Так создается виджет Canvas:

Далее создается прямоугольник, для чего используется create_rectangle() . Здесь надо прописать 4 параметра:

— координатное положение верхней левой ограничительной точки (левого верхнего угла);

— координатное положение нижней правой ограничительной точки (нижнего правого угла).

Если есть необходимость, то посредством параметра outline у прямоугольника задается цвет контура. Окрасить всю внутреннюю область можно с помощью параметра fill :

А вот и итоговый результат:

Рисуем сложные формы

Можно без проблем нарисовать круг, овал и прочие фигуры, включая криволинейные. Именно для этой цели и предназначен код ниже:

Благодаря этому коду будут созданы такие геометрические фигуры, как круг, прямоугольник, овал, дуга, многоугольник. Также следует обратить внимание на контур — он окрасится в красный цвет, а заливка будет зеленой. Ширина контура (width) — 2 px.

Сначала создается круг. Для его получения в Python задействуется метод create_oval() . Первые 4 параметра в нем нужны для указания ограничивающих координат. Здесь x и y являются координатами правой нижней и верхней левой точек квадрата, где помещен круг:

Аналогично создается и овал — меняются лишь первые 4 параметра.

Следующий этап — прямоугольник. Нарисованный restangle тоже имеет координатные значения x и y , играющие роль ограничительных точек.

Далее создается дуга. Так как она — это часть круга, то надо указать ограничительные координаты дуги. Ее угол устанавливается посредством параметра start , а размер угла — с помощью параметра extent :

Последнее — это многоугольник. Так как присутствует много углов, надо задействовать специальный метод create_polygon() , позволяющий задать нужное число координатных значений:

Остается посмотреть результат:

Также с помощью Canvas можно без проблем вставлять изображения и рисовать текст (text), используя шрифты разной высоты (height) и стиля (style).

Другие GUI-библиотеки для Python

Кроме библиотеки Tkinter и виджета Canvas, существует и масса других графических библиотек, применяемых для создания рисунков (drawings). Среди них:

При рисовании обычно применяется каскадный способ: компоненты добавляются поверх друг друга.

Drawing with Turtle

Отдельного упоминания заслуживает модуль Turtle (по аналогии с черепашками Turtles). Этот модуль позволяет создавать на Питоне рисунки и другие графические объекты, включая игры в специальном окне. Для того чтобы приступить к рисованию (drawing), надо сначала присоединить его (импортировать). Делается это одним из 3-х способов:

1) import turtle ;

2) from turtle import open as t ;

3) from turtle import* .

Drawing with Pygame

Pygame — набор модулей, используемый в тех случаях, когда нужно нарисовать 2D-игру. Также Pygame нередко называют библиотекой/фреймворком. С его помощью создают как компьютерные игры, так и мультимедийные приложения.

Pygame сравнивают с Tkinter, который с помощью своих функций и классов предоставляет языку программирования Python доступ к графической библиотеке Tk.

Если нужны дополнительные детали по теме, смотрите источники ниже:

Источник

Оцените статью