Рисование в TKinter
TKinter – программа, позволяющая буквально рисовать различные фигуры, используя команды. Для выполнения таких действий в алгоритме нужен Python, так как пакет для создания графики написан именно под такой язык программирования. Работать с графическими компонентами возможно, если установить виджет Canvas. Допускается создание самых разных элементов. Это может быть какой-либо простая фигура с определенным цветом, текст с небольшой картинкой, а при должной сообразительности – виджет или же незамысловатая игра.
В распоряжении пользователя находится масса всевозможных инструментов, включающих в себя как примитивные по добавлению кодом, так и сложные. Однако, бывают даже такие ситуации, когда с дополнением Canvasтяжело нарисовать простую точку. Потому, иногда требуется подходить к задаче с логикой и думать, каким образом выполнить то или иное действие. Ведь иногда не может быть стандартных способов установки тех или иных элементов на рабочее пространство в TKinter.
Пользователи также могут использовать не только простые фигуры с черной обводкой, но и применять к ним различные параметры. В частности, это – цвет, ведь размер, естественно, человек сам поймет, что возможно менять. Но присутствует еще один элемент – текст. У него можно менять шрифт с тем же цветом. Потому, возможно делать все, что угодно, используя примитивные средства графики, а также настраивая их на рабочей площади с помощью кода.
Рисование точек
Точка – самая простая единица, которая пользователем создается в простых редакторах графики с помощью единственного клика по какой-либо координате. Она, фактически, является однопиксельным элементом любого типа. То есть, возможно не только просто щелкнуть мышью по рабочей плоскости с помощью инструмента «кисть»/«карандаш», но и поработать с размерами. Однако, при использовании создания фигур, придется постараться, ведь человек будет многократно уменьшать овал, прямоугольник и прочие фигуры, которые хочется превратить в точку. Но чаще всего, это будет бессмысленным занятием.
Но только не в Python – TKinter не имеет по умолчанию команды, создающей какую-либо точку, ввиду чего придется подойти к задаче с некоторой долей изобретательности. Возможно, опять же, использовать фигуры, но это сделать будет очень тяжело, ведь придется настраивать множество параметров для уменьшения до пикселя. Даже если работать с квадратом, то необходимо задать тонкую границу, а потом уменьшать, уменьшать и уменьшать объект. Не очень удобно. Лучше всего использовать линию – примитивный в настройке объект при работе с Canvas.
Почему линия? Ответ прост. Ее можно легко превратить точку, если наложить оба конца на одну координату. Так получится желаемый закрашенный пиксель(или несколько их, образуя небольшое «пятно»). Следовательно, человеку будет видна точка, но на самом деле, это будет линия. Как это сделать – показано с помощью одной строки кода:
canvas.create_line(x, y, x+1, y, fill=”#ff0000”)
Вместо текста, задающего значение «fill» можно вписать любое, содержащее код цвета. Таким образом, человек закрасит точку в выбранный оттенок. В данном случае, используется простой красный – без примесей других. Если хочется что-то «поинтереснее» — стоит найти коды цветов, после чего искать подходящий под себя параметр.
Применить таким образом точку можно, к примеру, в карикатуре или для каких-то мелких объектов вроде пуговиц у человечка. Чтобы придумать какое-либо применение – нужно лишь подумать. А это, в таком случае, пятиминутное дело – при желании возможно даже что-то новое «изобрести», используя точку при рисовании в TKinter.
Рисование текста
При создании текста в TKinter с помощью дополнения Canvas, требуется дополнительно знать, что для расположения на рабочей поверхности используется система координат. Пользователям придется работать с двумя показателями двухмерного пространства. Первый – x, отвечающий за горизонтальное направление, а второй – y, значение которого определяет отступ сверху.
Прописать же растровый код возможно без особых усилий – требуется для такого лишь использовать образец, предоставленный ниже. Он не содержит никаких сложных структур, ввиду чего возможно запросто понять его строение. Вот, непосредственно, сам он:
from tkinterimport Tk, Canvas, Frame, BOTH, W
class Example(Frame):
def __init__(self):
super().__init__()
self.initUI()def initUI(self):
self.master.title(«Текст и Шрифт в Tkinter»)
self.pack(fill=BOTH, expand=1)canvas = Canvas(self)
canvas.create_text(
20, 30, anchor=W, font=»DejavuSansLight»,
text=»Текст»
)
С помощью такого подобного набора команд, человек может писать в виджете Canvas все, что хочется. Однако, требуется понимать, что параметры нужно ставить свои. Разбор по ним очень прост. То есть, человек сможет создавать любую надпись, если будет знать, что:
Под надписью «canvas.create_text (» сначала пишется координата x (отступ слева), а также, после запятой – точка y (отступ сверху). «anchor=W» — откуда начинается текст, лучше оставлять такое значение для удобства и привычности результата. Предпоследний параметр, что зависим от пользователя – «font=«любой шрифт, что требуется человеку»», где, естественно, устанавливается шрифт, которым будет написана надпись. А внизу, как несложно догадаться – сама фраза, которую требуется вывести.
Как можно видеть, очень легко писать текст. Причем занимает такая процедура достаточно немного времени. На деле возможно экспериментировать с расположениями надписей, а также шрифтами, направлениями и прочими параметрами. В общем – все основное доступно пользователю и он может без проблем писать в Canvas различные надписи.
Рисуем простую графику с помощью Python 3(Turtle)
Также, возможно рисовать различные фигуры, используя «черепаху». Такой инструмент используется для разнообразных изображений. Главное – уметь управляться с данной функцией и знать, что хочется нарисовать. А сделать это достаточно просто – работа с черепахой (Turtle) происходит непосредственно через команды. Стандартные выглядят так и не дадут поводов задавать массу вопросов насчет строения:
import turtle
turtle.right(90)
turtle.forward(90)
turtle.left(90)
turtle.backward(90)
Таким образом возможно перемещать «черепаху» сначала повернув вправо на 90 градусов, затем пройдя 100 пикселей вперед (с ее стороны), сделать поворот влево на 90 градусов, а в конце пройти 100 пикселей(опять же, если смотреть ее «глазами»). Однако, следует понимать, что появится при выполнении программы не черепаха, а простая стрелка, которая и движется. Такое можно исправить при помощи простой команды, что представлена ниже:
import turtle
turtle.shape(“turtle”)
Теперь вместо стрелки у человека будет появляться черепаха, хоть и черного цвета без отдельных деталей. Также, возможно использовать разные полезные сокращения для направлений: rt(right), fd(forward), lt(left), bk(backward). И так можно сделать процесс написания кода быстрее. Однако, требуется понимать, что большого успеха ради такого не добиться и выполнять команды такие фразы будут так же, как и полноразмерные.
Но в любом случае, в Python с помощью команд Turtle возможно рисовать все, что хочется. Такое станет неплохим дополнением к основному функционалу TKinter. Главное в рисовании на Python – знание основ и творчество.