logo

Функции модуля canvas

canvas.circle(x, y, radius)

Рисует круг в точке x, y с радиусом radius;

canvas.clear()

Очищает холст целиком;

canvas.clear_rect(x, y, width, height)

Очищает прямоугольную область с левым верхним углом в точке x, y, шириной width и высотой height;

canvas.draw()

Функция перерисовки холста. Важно: вызывается только после того, как вызваны все нужные функции рисования;

canvas.fill_circle(x, y, radius)

Рисует закрашенный круг в точке x, y с радиусом radius;

canvas.fill_rect(x, y, width, height)

Рисует закрашенный прямоугольник с левым верхним углом в точке x, y, шириной width и высотой height;

canvas.fill_style('color')

Функция для изменения цвета закраски. color — устанавливаемый цвет. Цвета можно выбрать из списка на этой странице Википедии;

canvas.fill_text(text, x, y, font='Monospace', size=24, align='left')

Рисует закрашенный текст text в точке x, y шрифтом font (Monospace по умолчнию), размером size (по умолчанию 24) пикселей и выравниванием align (по умолчанию — «left»). Возможные варианты выравнивания — «left», «right» и «center»

canvas.line_to(x, y)

Рисует линию из точки, в которой находится указатель в точку, с координатами x, y;

canvas.line_width(width)

Устанавливает ширину линии width в пикселях;

canvas.listen()

Запускает цикл ожидания событий от холста. Если такого ожидания не будет, обработчики событий не сработают.

canvas.move_to(x, y)

Устанавливает указатель в точку, с координатами x, y;

canvas.radius_line(x, y, angle, length)

Рисует радиальную линию из точки x, y под углом angle (в градусах) и длиной length.

canvas.reset()

Очищает холст целиком, сбрасывает цвет на черный и устанавливает ширину линий в 1;

canvas.set_color('color')

Функция для изменения цвета кисти. color — устанавливаемый цвет. Цвета можно выбрать из списка на этой странице Википедии;

canvas.set_onclick(callback)

Устанавливает обработчик клика мышкой по холсту. Функция-обработчик callback должна принимать два параметра — x и y. Например

import canvas
def my_click(x, y):
print("Только что был клик!", x, y)
canvas.set_onclick(my_click)
canvas.listen()

canvas.stroke_rect(x, y, width, height)

Рисует прямоугольник с левым верхним углом в точке x, y, шириной width и высотой height;

canvas.stroke_style('color')

Делает то же, что и canvas.set_color

canvas.stroke_text(text, x, y, font='Monospace', size=24, align='left')

Рисует контур текста text в точке x, y шрифтом font (Monospace по умолчнию), размером size (по умолчанию 24) пикселей и выравниванием align (по умолчанию — «left»). Возможные варианты выравнивания — «left», «right» и «center»

canvas.onclick(callback)

Тоже самое, что canvas.set_onclick.

canvas.onkey(callback, key_code)

Устанавливает обработчик нажатия клавиши на клавиатуре. Если параметр key_code не передан, функция-обработчик должна принимать один аргумент. В него будет передан код нажатой клавиши.

Если параметр key_code передан, то функция обработчик не должна принимать ни одного аргумента.

import canvas
# Функция-обработчик без аргумента. Будет вызвана
# при нажатии клавиши "стрелка влево"
def left():
print('ArrowLeft (left)')
canvas.onkey(left, 'ArrowLeft')
# Функция-обработчик с одним аргументом. Будет вызвана
# при нажатии любой клавиши на клавиатуре
# в key_code будет записан код нажатой клавиши
def keydown(key_code):
print(key_code)
canvas.onkey(keydown)
canvas.listen()

canvas.onkeyup(callback, key_code)

Устанавливает обработчик отпускания клавиши на клавиатуре. Если параметр key_code не передан, функция-обработчик должна принимать один аргумент. В него будет передан код отпушенной клавиши.

Если параметр key_code передан, то функция обработчик не должна принимать ни одного аргумента.

import canvas
# Функция-обработчик без аргумента. Будет вызвана
# при отпускании клавиши "стрелка влево"
def left():
print('ArrowLeft (left)')
canvas.onkeyup(left, 'ArrowLeft')
# Функция-обработчик с одним аргументом. Будет вызвана
# при отпускании любой клавиши на клавиатуре
# в key_code будет записан код отпущенной клавиши
def keydown(key_code):
print(key_code)
canvas.onkeyup(keydown)
canvas.listen()

Коды клавиш такие же, как и в canvas.onkey

canvas.onrightclick(callback)

То же самое, что canvas.set_onclick, но для правой кнопки мыши

Коды клавиш

Код клавиши — это строка, чувствительная к регистру.

КодКлавиша
SpaceПробел
ArrowUp
ArrowDown
ArrowLeft
ArrowRight

Хотите выучить Python на практике?

  • С нуля и до создания компьютерной игры
  • Собственный онлайн-тренажер с проверкой практических задач
  • 25 бесплатных уроков сразу после регистрации
  • 10 000+ учеников