Вверх ↑
Этот топик читают: Гость
Главный модератор
Ответов: 2997
Рейтинг: 395
#16: 2008-07-18 20:44:42 ЛС | профиль | цитата
iarspider, может сразу RIP (Raster Image Processor) с языка Adobe Postscript level 2 или 3
В Unix используется для вывода на экран.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 5446
Рейтинг: 323
#17: 2008-07-18 20:50:30 ЛС | профиль | цитата
Ну я как-бы предложил - Adobe PostScript, в определённых (научных) кругах это вполне себе стандарт... Второй вариант - любимый линуксоидами SVG, но он основан на XML, а человеческого парсера у нас нет (MSXML - это ночной кошмар, а не парсер)
------------ Дoбавленo:

Nic, опередил

А вообще, изначально планировался интерпретатор форматной строки для QBasic-овской команды DRAW. Потом пришла идея прицепить к этому математику (логику) и переменные.
карма: 1

0
Ответов: 5227
Рейтинг: 587
#18: 2008-07-18 20:52:52 ЛС | профиль | цитата
AlexKir, у меня сегодня у тёщи день рождение мне простительно, а Вам похоже пора клавиатуру сменить
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Главный модератор
Ответов: 2997
Рейтинг: 395
#19: 2008-07-18 20:52:55 ЛС | профиль | цитата
К тому же PostScript всегда можно проверить: интерпретаторов и дистиляторов в разные форматы с языка очень много.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 5227
Рейтинг: 587
#20: 2008-07-18 21:05:02 ЛС | профиль | цитата
Вот нашёл у себя описание DXF на руском (может быть неполное) есть в иннете DLL можно просто обёртку сделать, вполне можно, хотя есть и WMF, EMF.

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1dxf_doc.zip [19.3KB] [252]
Ответов: 5446
Рейтинг: 323
#21: 2008-07-21 23:25:56 ЛС | профиль | цитата
Новая версия (v2)

  • Все команды теперь начинаются с символа /
  • Поддержка переменных
  • Поддержка строк
  • Простейшие математические операции над элементами стека
Строковое знчение начинается символом " (двойная кавычка) и заканчивается символом конца строки.

Добавлены следующие команды:

/SET - установка значения переменной (имя и значение берутся из стека)
/ADD, /SUB, /MUL, /DIV - математические операции сложение, вычитание, умножение и целочисленное деление.

/STOP - остановка выполнения программы (удобно для отладки)
------------ Дoбавленo:

Третья версия.

Добавлены преобразования координат:

/ROT   - Поворачивает пользовательскую систему координат на заданный угол в радианах. Угол берётся из стека.
/OFST - Устанавливает смещение пользовательской системы координат относительно экранной. Значения в пикселях берутся из стека.
/SCAL - Устанавливает шаг пользовательской координатной системы (по осям X и Y). Значения берутся из стека.

Добавлена установка ширины линии при рисовании

/PENW - Устанавливает ширину линиит в пикселях
карма: 1

1
файлы: 2mydraw_v2.sha [25KB] [323], mydraw_v3.sha [30.5KB] [320]
Голосовали:andrestudio
Гость
Ответов: 17029
Рейтинг: 0
#22: 2008-07-23 07:19:12 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2021-05-21 12:09:12
карма: 0

0
Разработчик
Ответов: 26067
Рейтинг: 2121
#23: 2008-07-23 10:19:15 ЛС | профиль | цитата
Гость писал(а):
А как с дугами дела обстоять будут?

Нет такого компонента в проекте -- только точками по матрице координат
карма: 22

0
Ответов: 5227
Рейтинг: 587
#24: 2008-07-23 17:27:09 ЛС | профиль | цитата
nesco, вот поэтому вывод будет наверно очень медленным , если честь что дуг может быть больше чем одна

iarspider, в KOL есть дуга и ломаные линии

Pie( X1, Y1, X2, Y2, X3, Y3, X4, Y4 ) - рисует сектор, опирающийся на эллиптическую дугу и с центром в центре эллипса, вписанного в прямоугольник (X1, Y1), (X2, Y2), дуга при этом рисуется против часовой стрелки от точки (X3, Y3) до точки (X4, Y4), граница полученной фигуры рисуется карандашом (Pen), а внутренняя часть сектора закрашивается кистью (Brush);

Polygon( pts ) - рисует многоугольник по массиву заданных точек (последняя точка в массиве соединяется с первой), граница рисуется карандашом, а внутренняя часть заливается кистью;

Polyline( pts ) - рисует ломаную линию по заданному массиву точек, используя карандаш;

RoundRect( X1, Y1, X2, Y2, X3, Y3 ) - рисует прямоугольник со скругленными углами используя для скругления эллипс высоты Y3 и ширины X3

может не всё так безнодёжно
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26067
Рейтинг: 2121
#25: 2008-07-23 17:34:14 ЛС | профиль | цитата
andrestudio писал(а):
iarspider, в KOL есть дуга и ломаные линии

А причем здесь iarspider, все графические компоненты и родительские классы я переделывал полгода назад совместно с tsdima, там есть некоторые особенности, и я не знаю, известны ли они iarspider'y

andrestudio писал(а):
может не всё так безнодёжно

Не все так сразу, и так работы валом -- баги чистить и скрещивать ежиков
------------ Дoбавленo:

И че вам подавай все сразу, сколько молчали про эту графику, млин, вспоинили, что дуг не хватает.
карма: 22

0
Ответов: 5446
Рейтинг: 323
#26: 2008-07-25 21:49:13 ЛС | профиль | цитата
Четвёртая версия.
Добавлены команды:

/SETP - рисует точку в указанном месте

/BOX, /BOXR, /BOXF, /BXFR - рисует прямоугольник.
Суффикс 'R' указывает на то, что вторая пара координат указывается относительно первой,
то есть задаёт ширину и высоту прямоугольника.
Суффикс 'F' - включает заливку нарисованной фигуры фоновым цветом

/ELPS, /ELPR, /ELPF, /ELFR - рисует эллипс. Значения суффиксов F и R - см. выше

/BGCL - устанавливает цвет заливки (для команд рисования эллипсов и прямоугольников)

/NVxx - модификация команд /MVxx, при выполнении которых не изменяется текущая позиция
------------ Дoбавленo:

Файл
------------ Дoбавленo:

Пятая (финальная) версия. Кончились компоненты на вкладке "Графика", а для реализации
логики (ветвления/циклы) придётся переделывать механизм выборки и обработки
строк программы, а мне лень

Добавлены команды:

/FONT - меняет текущий шрифт. Описание шрифта берётся из стека в виде *строки* 
(т.е должно начинаться с символа " и занимать всю строку), в которой через запятую перечислены в порядке следующие параметры:
* Размер - число, размер в пунктах (pt)
* Цвет - число в десятичной системе.
* Название шрифта
* Стиль (полужирный, курсив, ...) - битовая маска. Бит 1 - полужирный, бит 2 - курсив, бит 3 - подчёркнутый,
бит 4 - зачёркнутый, остальные - не используются.

/TEXT - рисует текст в текущей позиции, используя установленный шрифт (по-умолчанию - MS Sans Serif, 8pt, чёрный).
карма: 1

0
файлы: 2mydraw_v4.sha [55.4KB] [346], mydraw_v5.sha [56.8KB] [336]
Разработчик
Ответов: 26067
Рейтинг: 2121
#27: 2008-07-26 03:24:24 ЛС | профиль | цитата
iarspider писал(а):
Кончились компоненты на вкладке "Графика"

Ну можно еще немного добавить, тут уже писали про дуги и еще кое-что
карма: 22

0
Ответов: 5446
Рейтинг: 323
#28: 2008-07-26 19:15:16 ЛС | профиль | цитата
Если сделаешь такие компоненты - будет и 6я версия
карма: 1

0
Разработчик
Ответов: 26067
Рейтинг: 2121
#29: 2008-07-26 19:17:08 ЛС | профиль | цитата
iarspider писал(а):
"Пацан сказал - пацан сделал"

Вот надоест отдыхать, возьмусь и сделаю... Может, даже, сегодня, ну может -- завтра
карма: 22

0
Ответов: 5227
Рейтинг: 587
#30: 2008-07-26 21:34:26 ЛС | профиль | цитата
nesco, ну блинн даёшь стране угля , я в свою очередь могу тебе только орден нарисовать
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)