Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2

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

28.04.2012, 06:04. Показов 6660. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень часто вижу здесь темы с просьбами чего-либо нарисовать.
Т.к. все знают, что это достаточно просто, просят писать код вручную,
но не все "ленивые" знают, что это долгая нудятина - сидеть и считать координаты.
Не стану обобщать, короче говоря процесс не доставляет. Так вот вчера пришла
ко мне идея, а почему бы слегка не автоматизировать данный процесс, за сегодня
склепал такую вот небольшую утилитку. Прога - самая элементарщина, наверняка
существуют во много раз круче, но искать было лень.
Так вот смысл в том, что часть работы можно очень быстро делать через эту прогу.

Основные функции:
Заданным цветом
  • Рисует линию
  • Прямоугольник
  • Окружность
и сохраняет в *.BAS* файл.

Управление:
TAB - основное меню (Вкл/Выкл)
ENTER - Сохранить в файл RIS_01.BAS
SPACE - Загрузить из файл RIS_01.BAS
При загрузке понимает только LINE с координатами + опцией B (прямоугольник) и
CIRCLE с координатами, радиусом и цветом.
ESC - выход из программы, а при рисовании - отмена текущего примитива.
BACKSPACE - Удаление последнего нарисованного примитива.
Код без всяких оптимизаций на голом бейсике, тут уже кто хочет допишет.
По мере наличия свободного времени буду увеличивать функционал.
Скриншоты:

Пример:
Вот такой файлик сгенерил мой редактор, всё рисовалось вручную буквально
за минуту:
> Код <
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
SCREEN 9
    LINE (54, 66)-(478, 241), 6, B
    LINE (66, 224)-(85, 173), 14 
    LINE (85, 173)-(111, 139), 14 
    LINE (111, 139)-(149, 116), 14 
    LINE (149, 116)-(194, 101), 14 
    LINE (194, 101)-(272, 93), 14 
    LINE (272, 93)-(384, 92), 14 
    CIRCLE (523, 141), 31, 7 
    CIRCLE (273, 284), 34, 7 
    CIRCLE (269, 32), 35, 7 
    CIRCLE (331, 182), 63, 7 
    CIRCLE (244, 213), 33, 7 
    CIRCLE (232, 159), 42, 7 
    LINE (457, 308)-(552, 220), 2 
    LINE (552, 220)-(583, 181), 2 
    LINE (583, 181)-(602, 137), 2 
    LINE (602, 137)-(608, 89), 2 
    LINE (608, 89)-(608, 56), 2 
    LINE (608, 56)-(323, 56), 2 
    LINE (82, 267)-(74, 292), 2 
    LINE (74, 292)-(69, 294), 2 
    LINE (69, 294)-(65, 293), 2 
    LINE (65, 293)-(64, 290), 2 
    LINE (76, 271)-(68, 271), 2 
    LINE (68, 271)-(66, 269), 2 
    LINE (66, 269)-(67, 266), 2 
    LINE (67, 266)-(70, 262), 2 
    LINE (70, 262)-(78, 260), 2 
    LINE (78, 260)-(89, 260), 2 
    LINE (89, 260)-(98, 261), 2 
    LINE (98, 261)-(102, 267), 2 
    LINE (102, 267)-(99, 271), 2 
    LINE (99, 271)-(88, 272), 2 
    LINE (76, 292)-(92, 283), 2 
    LINE (92, 283)-(88, 291), 2 
    LINE (88, 291)-(91, 294), 2 
    LINE (91, 294)-(95, 292), 2 
    LINE (95, 292)-(101, 285), 2 
    LINE (102, 283)-(99, 293), 2 
    LINE (100, 293)-(105, 292), 2 
    LINE (105, 292)-(111, 287), 2 
    LINE (111, 287)-(120, 283), 2 
    LINE (119, 283)-(125, 285), 2 
    LINE (124, 285)-(121, 284), 2 
    LINE (121, 284)-(115, 286), 2 
    LINE (115, 286)-(115, 290), 2 
    LINE (115, 290)-(121, 292), 2 
    LINE (121, 292)-(123, 291), 2 
    LINE (129, 283)-(128, 292), 2 
    LINE (128, 292)-(133, 293), 2 
    LINE (133, 293)-(140, 287), 2 
    LINE (140, 285)-(135, 310), 2 
    LINE (135, 310)-(129, 310), 2 
    LINE (129, 310)-(131, 301), 2 
    LINE (131, 301)-(146, 284), 2 
    LINE (147, 281)-(145, 291), 2 
    LINE (146, 287)-(152, 287), 2 
    LINE (153, 281)-(151, 290), 2 
    LINE (151, 290)-(153, 292), 2 
    LINE (153, 292)-(158, 291), 2 
    LINE (158, 291)-(158, 289), 2 
    CIRCLE (167, 287), 8, 2 
    LINE (172, 291)-(185, 283), 2 
    LINE (186, 281)-(182, 292), 2 
    LINE (184, 286)-(193, 283), 2 
    LINE (193, 283)-(195, 285), 2 
    LINE (188, 285)-(191, 285), 2 
    LINE (191, 285)-(190, 292), 2 
    LINE (190, 292)-(194, 291), 2 
    LINE (194, 291)-(197, 289), 2 
    LINE (59, 296)-(198, 296), 2 
    LINE (60, 300)-(200, 300), 2 
    LINE (41, 255)-(218, 313), 9, B
    LINE (293, 218)-(368, 146), 4 
    LINE (372, 216)-(286, 151), 4 
    LINE (221, 196)-(265, 230), 4 
    LINE (260, 193)-(227, 232), 4 
    LINE (227, 130)-(240, 188), 12 
    LINE (192, 168)-(271, 152), 12 
WHILE INKEY$ = "": WEND


В архиве исходник и 2 *.EXE* файла.

P.S: На некоторых конфигурациях возникает проблема с вертикальной синхронизацией,
поэтому в архиве 2 *.EXE* файла один с VSync'ом, второй - без, исходник правьте сами.
Вложения
Тип файла: zip Redact Alfa v1.0_.zip (94.5 Кб, 204 просмотров)
11
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2012, 06:04
Ответы с готовыми решениями:

Для ленивых...
Прошу тех у кого есть вопросы или нужно решение задачки пишите в этот топик:rtfm:

Рисовалка для сайта
Здравствуйте.Пишу сайт на asp.net mvc 4,нужно реализовать некое-подобие доски для рисования для нескольких пользователей(то есть чтобы...

Простенькая рисовалка для чертежей
Ищу простенькую рисовалку для чертежей и иллюстраций. Нужно рисовать что-то похожее на чертежи в учебниках по геометрии, то есть...

7
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
05.05.2012, 09:11  [ТС]
Сделал небольшой апгрейд рисовалки, прога теперь в стадии бета, т.к. основной функционал готов.

Архив с программой:
Архив содержит 2 EXE файла(c Vsync и без) и исходник.
Загрузить: Redact Beta v1.15.zip

Основные функции:

Заданным цветом:
  • Рисует линию
  • Прямоугольник
  • Окружность
  • Закрашенный прямоугольник
  • Эллипс

И сохраняет векторную графику в *.BAS* файл в виде кода.
Также программа сохраняет бекап файл(BACKUP.BAS), после добавления каждого примитива.

Управление:
TAB - основное меню (Вкл/Выкл)
ENTER - Сохранить в файл RIS_01.BAS
SPACE - Загрузить из файла RIS_01.BAS
При загрузке понимает LINE с координатами + опциями B и F (прямоугольник, закрас),
CIRCLE с координатами, радиусом, цветом, углами старта/конца и аспектом.
ESC - выход из программы, а при рисовании - отмена текущего примитива.
BACKSPACE - Удаление последнего нарисованного примитива.
- подвинуть последний примитив на пиксель вверх
- подвинуть последний примитив на пиксель вниз
- подвинуть последний примитив на пиксель влево
- подвинуть последний примитив на пиксель вправо
Скриншот:


Планы
Дальнейший апгрейд подразумевает добавление:
  • Точек закраса области и парсинг команды PAINT из *.BAS*
  • Команда выделения примитивов и более удобное их передвижение
  • Экспорт в другие компилеры (например в TURBO PASCAL)
  • Сохранение в *.BMP*, ибо основополагающий формат.

Что-то из этого будет реализовано, что-то нет, всё зависит от свободного времени
и желания кодить эту жалкую прогу.


Если найдёте баги, обязательно напишите в эту тему, что смогу - пофиксю.
4
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
10.05.2012, 15:33  [ТС]
Лучший ответ Сообщение было отмечено как решение

Решение

Всех ещё раз приветствую!
Программа была существенно доработана и перешла в стадию пре релиз.

Архив с программой:
Загрузить: Redact PreRelease v1.4.zip

Архив содержит 2 EXE файла(c Vsync и без) и исходник.
Краткое описание:
Собственно было выполнено то, что заявлено в планах. Теперь программа может
сохранять рисунок и скриншоты в *.BMP*, экспортировать примитивы в среду
Turbo Pascal. Добавлена функция обводки для перемещения примитивов и поддержка
установки точек закраса + парсинг PAINT. Но обо всём подробнее:
Основные функции:
Программа имеет следующие режимы работы:
  • Рисование линии
  • Рисование прямоугольника
  • Рисование окружности
  • Рисование закрашенного прямоугольника
  • Рисование эллипса
  • Монтирование точки закрашивания области
  • Режим выделения примитивов и их передвижения
  • Режим просмотра полностью построенной(+PAINT) картинки

По умолчанию при редактировании программа не производит закраску областей(PAINT).
После каждого установленного примитива программа сохраняет бекап файл(BACKUP.BAS).
Основной входной-выходной формат программы: *.BAS*
Дополнительные форматы для экспорта: *.PAS*, *.BMP*
Управление:
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

В режиме обводки(выбрана обводка):
ЛКМ(нажать и удерживать) - начать выделение, отпустить ЛКМ - закончить выделение.
ПКМ(нажать и удерживать) - перенос объекта мышью.
- подвинуть весь объект на пиксель в соотв. клавише сторону
В режиме рисования(выбран примитив):
ЛКМ(нажать и удерживать) - позиционирование примитива
Скриншоты:
9
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
13.05.2012, 10:16  [ТС]
Мысли: Если дальше буду апгрейдить прогу по каким-либо параметрам,
уберу поддержку экспорта в турбо паскаль, меня убедили в отсутствии юзабилити.
Бесполезные функции буду нещадно обрезать, в программе должны остаться только
нужные функции.
3
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 8
29.01.2013, 15:38
добрый день я бы хотел узнать как сделана сама программа ее начальная версия если можно *код*
0
140 / 130 / 127
Регистрация: 27.09.2012
Сообщений: 641
25.11.2013, 20:34
а как рисовать то?мышкой?

Добавлено через 22 минуты
программа класс
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
26.11.2013, 22:29  [ТС]
программа класс
Тут не самая последняя версия, ищем в гугле по "Утилита Redact v1.4", там ещё пачка плюшек.
Не хватило мотивации на эксклюзивы в разные места, простите квита. А паскалевики вообще
ссылки срезали - ну пущай руками рисуют на листике, бугага)))
4
0 / 0 / 0
Регистрация: 14.02.2026
Сообщений: 1
14.02.2026, 21:16
А прога имеет свой сайт или есть в github?

Добавлено через 1 минуту
Quiet Snow, а какая последняя версия проги readact , есть ли она на гитхабе?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.02.2026, 21:16
Помогаю со студенческими работами здесь

Наплыв ленивых новичков в VB форуме...
В самом форуме такой топик заводить не принято, ну а здесь можно. В последнее время, а точнее говоря с начала 2005 года, на форуме стало...

Как подсчитать дисперсию с помощью ленивых вычислений?
Всем привет и хорошего настроения!) Интересует вопрос - как подсчитать дисперсию с помощью ленивых вычислений? Дисперсия по формуле ...

Организовать бесконечное выполнение функции с помощью ленивых вычислений
Привет всем) как можно организовать в джаве бесконечное выполнение функции ∑ (a+b)/n с помощью ленивых вычислений? а и б - это...

Рисовалка
Здравствуйте, мне нужно написать простенькую рисовалку на htm5+js. Я сделал тут, но пр нажатии срабатывают все функции сразу, пробовал...

Рисовалка в вб
Всем привет народ! Задали мне сделать рисовалку в vb, вот такую: Создать простой графический редактор Постановка задачи: Создать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru