Модуль canvas

Справочник

Функции модуля 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