QBASICBOOK.ru: сайт про QB64

Опубликовано: 2020-04-02 08:00:00

Рисовалка для «ленивых»

Часто (по крайней мере когда я учился еще в школе) у меня возникала необходимость чего-либо нарисовать на языке Basic. Все знают, что это достаточно просто и что это долгая нудная работа – сидеть и считать координаты. Не стану обобщать, короче говоря процесс не доставляет.

Чтобы успростить этот процесс, я нашел на просторах интернета программу-рисовалку примитивами для последующего экспорта в в виде кода на языке Basic. Программа, которую мы рассмотрим, позволяет разместить стандартные графические примитивы и сохранить всё это дело в код программы на бейсике.

Скачать программу Redact можно по следующим ссылкам, например, тут и тут. Также, при желании, можно найти и более свежие версии этой программы. Скомпилированные исходники также оставлю и на этом сайте по этой ссылке.

Примечание: На некоторых конфигурациях возникает проблема с вертикальной синхронизацией,поэтому в архиве 2 *.EXE файла один с VSync'ом, второй - без, исходник правьте сами.

Программа имеет следующие режимы работы:

По умолчанию при редактировании программа не производит закраску областей (PAINT).

Для того чтобы увидеть полностью построенную картинку нужно перейти в соответствующий режим просмотра (F5 ).

После каждого установленного примитива программа сохраняет BACKUP файл (BACKUP.BAS).

Управление

TAB  основное меню (Вкл/Выкл)

В меню опции выбираются ЛКМ, цвета – ЛКМ и ПКМ

ENTER – Сохранить в файл RIS_01.BAS и RIS_01.PAS

SPACE – Загрузить из файла RIS_01.BAS

При загрузке понимает LINE с координатами + опциями B и F (прямоугольник, закраска),

CIRCLE с координатами, радиусом, цветом, углами старта/конца и аспектом.

Определяет PAINT с 2-мя параметрами: цветом закраски и цветом границы.

 

ESC – выход из программы, а при рисовании – отмена текущего примитива.

BACKSPACE – Удаление последнего нарисованного примитива.

Стрелки вверх / вниз, влево / вправо – подвинуть последний примитив на пиксель в соотв. клавише сторону

 

F5 – Режим просмотра полностью построенной картинки

F6 – Сохранить полностью построенное изображение в файл RIS_01.BMP

F12 – Скриншот редактора в файл REDACT.BMP

 

В режиме обводки (выбрана обводка):

ЛКМ (нажать и удерживать) – начать выделение, отпустить ЛКМ - закончить выделение.

ПКМ (нажать и удерживать) – перенос объекта мышью.

Стрелки вверх / вниз, влево / вправо – подвинуть весь объект на пиксель в соотв. клавише сторону

 

В режиме рисования (выбран примитив):

ЛКМ (нажать и удерживать) – позиционирование примитива

Основной входной-выходной формат программы: *.BAS.

Дополнительные форматы для экспорта: *.PAS*, *.BMP.

 

Результаты работы программы

Рисунок 1 – Результат выполнения программы с навигационным меню

Рисунок 1 – Результат выполнения программы с навигационным меню

Рисунок 2 – Результат выполнения программы без навигационного меню

Рисунок 2 – Результат выполнения программы без навигационного меню

Программа может быть несовместима с некоторыми версиями Windows (я проверял только на Windows 8, 8.1, 10) и при запуске будет выдавать ошибку:

Рисунок 3 – Ошибка при запуске Redact на Windows 8

Рисунок 3 – Ошибка при запуске Redact на Windows 8

Так же я заметил, что в QB64 программа также не запускается.

В таком случае необходимо использовать различные эмуляторы PC для MS-DOS. Лично мне нравится DOSBox. Ниже представлена работа нашей программы в DOSBox'е:

Рисунок 4 – Выполнение программы Redact в эмуляторе DOSBox

Рисунок 4 – Выполнение программы Redact в эмуляторе DOSBox

Если вы используете эмулятор DOSBox, то для перехвата управления мышкой в эмуляторе используйте сочетание клавиш CTRL + F10.

На мой взгляд, проект от >Quiet Snow< замечательный, за что ему отдельное большое спасибо. Теперь, эта программа может стать достойным ответом для всех страждущих, которым нужно срочно нарисовать что-то в QBasic. =)

Спасибо за прочтение этой статьи.

 

Прикрепленные файлы:

 

< Предыдущая статья
Как пользоваться DOSBox
Следующая статья >
Алфавит языка

Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.