Рубрики
Без рубрики

Украшение виртуального печенья с питоном и холстом

Этот пост является частью календаря Anvil Advent. Мы строим одно веб-приложение в день в течение 24 дней, используя п … помечены с Python, WebDev, Canvas.

Этот пост является частью Календарь Anvil Advent Отказ Мы строим одно веб-приложение в день в течение 24 дней, ничего не используя, кроме Python! На 7-й день я построил веб-приложение, используя POLVAS API, чтобы украсить беспутную виртуальную рождественское печенье без запекания. И мне не нужно было использовать какие-либо HTML, JavaScript или CSS.

Вы можете проверить приложение здесь и украсить свой собственный печенье.

Это была моя первая попытка использования холста. Вот как я создал элементы cookie и веб-приложение, используя Наковальня и python:

Делать много кругов

Мои простые украшения Cookie построены из кругов и треугольников разных размеров и цветов. Строив больше элементов, приложение может быть легко расширено, чтобы иметь больше

Поскольку мое приложение широко использует круги, я сначала определил функцию, чтобы нарисовать круг. Функция принимает желаемые координаты X и Y круга и его радиусом в качестве аргументов:

def draw_circle(self, x, y, radius):
    c = self.canvas_1
    c.begin_path()
    c.arc(x, y, radius, 0, 2 * math.pi)
    c.close_path()

Эта функция называется, когда форма открывается для создания базы cookie. Он также используется для создания глазури, брызгает и снеговика.

Добавление случайных брызг

Координаты X и Y для брызгает выбираются случайным образом каждый раз, когда нажат sprinkles_button:

import random

...

def sprinkles_button_click(self, **event_args):
"""This method is called when the button is clicked"""
    color = self.color_dropdown.selected_value
    if color is None:
    color = "#e62325" #defaults to red
    self.canvas_1.fill_style = color

    x_list = list(range(400, 600))
    x_list = random.sample(x_list, 15)

    y_list = list(range(100, 300))
    y_list = random.sample(y_list, 15)

    for x,y in zip(x_list, y_list):
        self.draw_circle(x, y, 6)
        self.canvas_1.fill()

Рождественская елка треугольников

Для рождественской елки я только что сделал три перекрывающихся зеленых треугольника, которые становятся постепенно меньше, когда они двигаются вверх по оси Y. Следующий код рисует один треугольник:

c = self.canvas_1

c.fill_style = '#00884b'

c.begin_path()
c.move_to(410,280)     
c.line_to(590,280)
c.line_to(500,170)
c.close_path()
c.fill()

Слияние Вы можете проверить все наши приложения Adventar Calendar здесь Отказ

Оригинал: “https://dev.to/anvil/decorating-a-virtual-cookie-with-python-and-canvas-oj2”