📖 Документация Qumir

← Вернуться в Playground

Исполнитель Рисователь

Рисователь — растровый графический исполнитель. В отличие от Черепахи и Чертёжника, работает с пикселями на прямоугольном листе заданного размера.

Для использования укажите первой строкой в программе:

использовать Рисователь

Основы

Рисователь работает на листе (растровом холсте) и имеет:

Координаты — целые числа в пикселях. Начало (0, 0) — левый верхний угол.

Цвета

Цвет в Рисователе — это значение типа цвет, хранящее ARGB (alpha + red + green + blue).

Цветовые константы

Команда Цвет
белый Белый (#FFFFFF)
чёрный / черный Чёрный (#000000)
красный Красный (#FF0000)
зелёный / зеленый Зелёный (#008000)
синий Синий (#0000FF)
голубой Голубой (#00FFFF)
жёлтый / желтый Жёлтый (#FFFF00)
оранжевый Оранжевый (#FFA500)
фиолетовый Фиолетовый (#800080)
серый Серый (#808080)
прозрачный Полностью прозрачный

Конструкторы цвета

Команда Описание
RGB(r, g, b) По компонентам RGB (0–255 каждый)
RGBA(r, g, b, a) RGB + прозрачность (0–255, 255 = непрозрачный)
HSL(h, s, l) Оттенок 0–360°, насыщенность 0–100%, светлота 0–100%
HSLA(h, s, l, a) HSL + прозрачность (0–255)
HSV(h, s, v) Оттенок 0–360°, насыщенность 0–100%, яркость 0–100%
HSVA(h, s, v, a) HSV + прозрачность
CMYK(c, m, y, k) Компоненты 0–100%
CMYKA(c, m, y, k, a) CMYK + прозрачность

Декомпозиция цвета

Команда Описание
разложить в RGB(цвет, r, g, b) Записывает компоненты R, G, B в переменные
разложить в CMYK(цвет, c, m, y, k) Записывает компоненты CMYK
разложить в HSL(цвет, h, s, l) Записывает компоненты HSL
разложить в HSV(цвет, h, s, v) Записывает компоненты HSV

Управление листом

Команда Описание
новый лист(ширина, высота, цвет) Создать лист заданного размера и залить цветом
загрузить лист(файл) Загрузить изображение из файла
сохранить лист(файл) Сохранить лист в файл (PNG)

Информация о листе

Команда Описание
ширина листа Ширина листа в пикселях
высота листа Высота листа в пикселях
центр x X координата центра листа
центр y Y координата центра листа
значение в точке(x, y) Цвет пикселя в точке (x, y)

Параметры рисования

Команда Описание
перо(толщина, цвет) Установить толщину и цвет контура
кисть(цвет) Установить цвет заливки
убрать кисть Отключить заливку (только контур)
плотность(d) Прозрачность рисования 0–100 (100 = непрозрачно)
шрифт(название, размер, жирный, курсив) Установить шрифт для надписей

Команды рисования

Примитивы

Команда Описание
прямоугольник(x, y, ширина, высота) Прямоугольник с левым верхним углом (x, y)
эллипс(x, y, ширина, высота) Эллипс, вписанный в прямоугольник
окружность(x, y, радиус) Окружность с центром (x, y)
многоугольник(n, xs, ys) Многоугольник из n вершин (массивы координат)
пиксель(x, y, цвет) Нарисовать один пиксель
залить(x, y) Заливка области текущей кистью от точки (x, y)

Линии

Команда Описание
линия(x1, y1, x2, y2) Отрезок от (x1, y1) до (x2, y2)
в точку(x, y) Переместить текущую позицию (без рисования)
линия в точку(x, y) Отрезок от текущей позиции до (x, y), обновить позицию

Текст

Команда Описание
надпись(x, y, текст) Вывести текст от точки (x, y)
ширина текста(текст) Ширина строки в пикселях при текущем шрифте

Примеры

Флаг

использовать Рисователь
алг
нач
    новый лист(300, 200, белый)
    перо(1, прозрачный)
    кисть(белый)
    прямоугольник(0, 0, 300, 67)
    кисть(синий)
    прямоугольник(0, 67, 300, 66)
    кисть(красный)
    прямоугольник(0, 133, 300, 67)
кон

Радуга

использовать Рисователь
алг
нач
    цел i
    новый лист(600, 200, белый)
    нц для i от 0 до 594 шаг 6
        кисть(HSL(i * 360 / 600, 100, 50))
        прямоугольник(i, 0, 6, 200)
    кц
кон

Концентрические окружности

использовать Рисователь
алг
нач
    цел r
    новый лист(800, 600, белый)
    перо(2, чёрный)
    нц для r от 10 до 280 шаг 20
        кисть(HSL(r * 360 / 280, 80, 60))
        окружность(400, 300, r)
    кц
кон

Система координат

Отличия от других исполнителей

Черепаха Чертёжник Рисователь
Модель Векторная Векторная Растровая
Координаты Вещественные Вещественные Целые (пиксели)
Начало координат Центр Центр Левый верхний угол
Ось Y Вверх Вверх Вниз
Фигуры Только линии Только линии Прямоугольники, эллипсы, заливка, текст
Цвет Палитра 0–15 Палитра 0–15 Полный RGB/HSL/HSV/CMYK

Использование в онлайн-песочнице

  1. Откройте qumir.dev
  2. Напишите программу с командами рисователя
  3. Нажмите Run
  4. Переключите вывод на Рисователь (появится автоматически)

См. также