В материале представлены команды, отвечающие за смену цвета пера/карандаша и цвета заливки фигур при рисовании по холсту в модуле turtle
.
Примечание: можно использовать как функции модуля, так и одноименные методы экземпляра пера/холста. например:
>>> import turtle # функция модуля >>> turtle.pencolor() # создание экземпляра пера >>> pen = turtle.Turtle() >>> pen.pencolor()
turtle.pencolor()
возвращает или устанавливает цвет пера,turtle.fillcolor()
возвращает или устанавливает цвет заливки,turtle.color()
возвращает или устанавливает цвет пера и цвет заливки,turtle.filling()
проверяет статус заливки фигуры,turtle.begin_fill()
вызывается непосредственно перед заливкой,turtle.end_fill()
заливает фигуру цветом.turtle.pencolor(*args)
:Метод turtle.pencolor()
возвращает или устанавливает цвет пера.
Допускаются четыре формата ввода цвета:
turtle.pencolor()
: возвращает текущий цвет пера как строку спецификации цвета или как кортеж (см. пример). Может использоваться как ввод для другого вызова turtle.color()
/turtle.pencolor()
/turtle.fillcolor()
.turtle.pencolor(colorstring)
: устанавливает значение colorstring
, которое представляет собой строку спецификации цвета Tk
, например 'red'
, 'yellow'
, или '#33cc8c'
.turtle.pencolor((r, g, b))
: устанавливает цвет RGB, представленный кортежем r
, g
и b
. Каждый из r
, g
и b
должен находиться в диапазоне 0..colormode
, где turtle.colormode()
равен 1.0
или 255
.turtle.pencolor(r, g, b)
: устанавливает цвет RGB, представленный кортежем r
, g
и b
. Каждый из r
, g
и b
должен находиться в диапазоне 0..colormode
.Если форма пера является многоугольником (turtle.circle()
), то контур этого многоугольника рисуется с новым заданным цветом пера.
>>> colormode() # 1.0 >>> turtle.pencolor() # 'red' >>> turtle.pencolor("brown") >>> turtle.pencolor() # 'brown' >>> tup = (0.2, 0.8, 0.55) >>> turtle.pencolor(tup) >>> turtle.pencolor() # (0.2, 0.8, 0.5490196078431373) >>> colormode(255) >>> turtle.pencolor() # (51.0, 204.0, 140.0) >>> turtle.pencolor('#32c18f') >>> turtle.pencolor() # (50.0, 193.0, 143.0)
turtle.fillcolor(*args)
:Метод turtle.fillcolor()
возвращает или устанавливает цвет заливки.
Допускаются четыре формата ввода цвета:
turtle.fillcolor()
: возвращает текущий цвет пера как строку спецификации цвета или как кортеж (см. пример). Может использоваться как ввод для другого вызова turtle.color()
/turtle.pencolor()
/turtle.fillcolor()
.turtle.fillcolor(colorstring)
: устанавливает значение colorstring
, которое представляет собой строку спецификации цвета Tk
, например 'red'
, 'yellow'
, или '#33cc8c'
.turtle.fillcolor((r, g, b))
: устанавливает цвет RGB, представленный кортежем r
, g
и b
. Каждый из r
, g
и b
должен находиться в диапазоне 0..colormode
, где turtle.colormode()
равен 1.0
или 255
.turtle.fillcolor(r, g, b)
: устанавливает цвет RGB, представленный кортежем r
, g
и b
. Каждый из r
, g
и b
должен находиться в диапазоне 0..colormode
.Если форма пера является многоугольником (turtle.circle()
), то контур этого многоугольника рисуется с новым заданным цветом заливки..
>>> turtle.fillcolor("violet") >>> turtle.fillcolor() # 'violet' >>> turtle.pencolor() # (50.0, 193.0, 143.0) # целые числа, а не числа с плавающей запятой >>> turtle.fillcolor((50, 193, 143)) >>> turtle.fillcolor() # (50.0, 193.0, 143.0) >>> turtle.fillcolor('#ffffff') >>> turtle.fillcolor() # (255.0, 255.0, 255.0)
turtle.color(*args)
:Метод turtle.color()
возвращает или устанавливает цвет пера и цвет заливки.
Допускается несколько форматов ввода. Они используют от 0 до 3 аргументов следующим образом:
turtle.color()
: возвращает текущий цвет карандаша и текущий цвет заливки в виде пары строк спецификации цвета или кортежей, возвращаемых turtle.pencolor()
и turtle.fillcolor()
.
color(colorstring), color((r,g,b)), color(r,g,b)
: входные данные такие же, как в turtle.pencolor()
, устанавливают и цвет заливки, и цвет пера на заданное значение.
color(colorstring1, colorstring2)
или color((r1,g1,b1), (r2,g2,b2))
: эквивалентно turtle.pencolor(colorstring1)
и turtle.fillcolor(colorstring2)
и аналогично, если используется другой формат ввода.
Если форма пера представляет собой многоугольник, то контур и внутренняя часть этого многоугольника рисуются новыми установленными цветами.
>>> turtle.color("red", "green") >>> turtle.color() # ('red', 'green') >>> turtle.color("#285078", "#a0c8f0") >>> turtle.color() # ((40.0, 80.0, 120.0), (160.0, 200.0, 240.0))
Смотрите так же описание метода turtle.colormode()
.
turtle.filling()
:Метод turtle.filling()
проверяет статус заливки фигуры цветом (True
, если включено, False
в противном случае).
>>> turtle.begin_fill() >>> if turtle.filling(): ... turtle.pensize(5) ... else: ... turtle.pensize(3)
turtle.begin_fill()
:Метод turtle.begin_fill()
вызывается непосредственно перед рисованием фигуры для ее заливки.
turtle.end_fill()
:Метод turtle.end_fill()
заполняет фигуру цветом, нарисованную после последнего вызова turtle.begin_fill()
.
Заполнены ли области перекрытия для самопересекающихся многоугольников или нескольких фигур, зависит от графики операционной системы, типа перекрытия и количества перекрытий. Например, звезда "Turtle" в разделе "Пример..." может быть либо полностью желтой, либо иметь несколько белых областей.
>>> turtle.color("black", "red") >>> turtle.begin_fill() >>> turtle.circle(80) >>> turtle.end_fill()