beginer
Гость
|
|
« : 29-01-2008 08:12 » |
|
Я вот что хочу спросить: В Windows, выводится одновременно и текст и графика. Но я знаю, что нужно переключаться, если хочешь выводить графику или текст. Как в Windows удалось реализовать и то и другое?
Они наверно постоянно работают в графическом режиме, а буквы созданны из пикселей?
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #1 : 29-01-2008 08:23 » |
|
beginer, конечно постоянно в графическом, всё из пикселей. Только не отдельных пикселей, а объединённых в группы - объекты (после вывода на экран объекты часто становятся просто набором пикселов, ну а иногда организуется интерактивность - зависит от объекта и программы, в которой выводится графика)
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #2 : 29-01-2008 08:25 » |
|
beginer, что такое растровые шрифты, что такое векторные шрифты?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
beginer
Гость
|
|
« Ответ #3 : 29-01-2008 08:49 » |
|
Понял. Что бы это сотворить, вручную надо создавать бибилиотеку, или можно скачать где-нибудь? Потому что это опупеть, 255 символов из пикселов ...
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #4 : 29-01-2008 09:26 » |
|
>> 255 символов из пикселов ...
сами символы - максимум неделька, мининмум день в любимом графическом редакторе, поддерживающем пикселы. Или самописная утилитка
|
|
|
Записан
|
|
|
|
Aveic
Постоялец
Offline
Пол:
Yellow
|
|
« Ответ #5 : 29-01-2008 10:59 » |
|
лучше самописную, я делал такую, когда шрифт для чеков подделывал 2 часа писал программу, и часа 3 символы подгонял
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #6 : 29-01-2008 11:09 » |
|
можно не подгонять, а отсканировать и подложить
|
|
|
Записан
|
|
|
|
beginer
Гость
|
|
« Ответ #7 : 29-01-2008 17:48 » |
|
мининмум день в любимом графическом редакторе ты предлагаешь нарисовать, потом обратится к ГК и считать матрицу, потом использовать? 2 часа писал программу, и часа 3 символы подгонял кратенько принцип можешь обьяснить? можно не подгонять, а отсканировать и подложить сканер места много займет, я думаю
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #8 : 29-01-2008 17:58 » |
|
>>ты предлагаешь нарисовать, потом обратится к ГК и считать матрицу, потом использовать? предлагаю проще - загнать пикселы в массив и вся недолга
>>сканер места много займет, я думаю - во первых, понты, во вторых - обвёл и удалил
|
|
|
Записан
|
|
|
|
Aveic
Постоялец
Offline
Пол:
Yellow
|
|
« Ответ #9 : 29-01-2008 21:55 » |
|
2 часа писал программу, и часа 3 символы подгонял кратенько принцип можешь обьяснить? Алексей уже принцип назвал - матрица. Этим по идеи все сказано. в общем, я рисовал сетку (например 8 на 8 ), и нажимал на квадратики, которые необходимо для каждого символа. Заполненный квадратик (пиксел) - 1, пустой - 0 потом все эти матрицы (набор 0 или 1) сохранял в так называемый файл шрифта, где были нули и единицы, т.к. размер матрицы был фиксированный. Тем самым можно даже разные шрифты поддерживать
|
|
|
Записан
|
|
|
|
sss
Специалист
Offline
|
|
« Ответ #10 : 30-01-2008 02:26 » |
|
beginer, ты в принципе прав. Загружай в ГК шрифт с русскими символами программой, например, keyrus, а затем читай шрифт таблицу и сохрани в файл. Я правильно понял, ты хочешь руссификатор для DOS режима?
|
|
|
Записан
|
while (8==8)
|
|
|
beginer
Гость
|
|
« Ответ #11 : 30-01-2008 06:29 » |
|
Я почти доделал графическое оформление. И теперь нужно сделать работу с окнами. Для этого нужно заглавие и надписи. То есть символы. Я вначале хотел распаралеллить графический и символьный режим, но процесс переключения, долгий. По этому я решил сделать символы также как и графику попиксельно.
И еще, самое главное: ГК. В программках helpasm и еще такая же есть, забыл, как называется, не могу найти адреса к матрице экрана. То есть в контроллере есть буфер, который соответствует экрану - экранная пиксельная матрица. Все что там в цифре обозначено, переводится в аналог экрана. Вы незнаете, случайно, какие это адреса, с какого по какой?
Функция OCh прерывания 10h, в самом же helpasm, написано, что долгая. Можно выводить пиксель быстрее. Не подскажите, как?
|
|
|
Записан
|
|
|
|
sss
Специалист
Offline
|
|
« Ответ #12 : 31-01-2008 02:02 » |
|
Если я правильно понял вопрос, то в реальных
текстовых режимах адрес видеобуфера 0xB800. Формат видеобуфера - байт атрибута, байт символа, байт атрибута, байт символа ... Или наоборот, байт символа, байт атрибута, байт символа, байт атрибута.
графических режимах ( VGA) адрес видеобуфера 0xA000. Формат видеобуфера зависит от режима.
Вообще говоря, все не совсем просто. Если собрался лезть в такие дебри - необходимо иметь под рукой документацию. Например что то вроде книги "Программирование аппаратных средств".
|
|
|
Записан
|
while (8==8)
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #13 : 31-01-2008 06:06 » |
|
Могу дать DOS-утилитку выгрузки из текущих установок, из ROM, сохранения в файл, загрузки из файла растровых шрифтов текстового режима 8x8, 8x14, 8x16; также она позволяет редактировать шрифты и генерировать простейшие DOS-драйверы для установки шрифтов (если память мне не изменяет, это 12h функция 10h прерывания). Также могу дать несколько разных наборов шрифтов.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
beginer
Гость
|
|
« Ответ #14 : 31-01-2008 07:06 » |
|
dimka, давай, посмотрю
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #15 : 31-01-2008 19:06 » |
|
Там программка, шрифты разной степени красоты и разнообразия, выдранные из разных DOS-программ (Norton Unitilies, редактор "Слово и дело", разные русификаторы, справочно-правовая система "Гарант" древнейших версий под DOS, стандартные шрифты MS-DOS и шрифты MS-DOS по ISO) и тексты программ на Turbo Pascal для работы со шрифтами (не факт, что работающие). GSF - это отдельная история, там я когда-то пытался создавать немоноширные растровые шрифты, поэтому формат файла представляет собой символы в матрицах 16х16 пикселей (32 байта) + 1 байт размера символа в ширину. Всему этому примерно лет 7-10: конец школы, младшие курсы вуза. Писк моды тогда был у школьников - "сбацать" графический курсор мыши в текстовом режиме, как в Norton Utilities
|
fnt.zip (94.53 Кб - загружено 1055 раз.)
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
beginer
Гость
|
|
« Ответ #16 : 31-01-2008 19:25 » |
|
скачал посмотрю завтра. Спасибо.
|
|
|
Записан
|
|
|
|
beginer
Гость
|
|
« Ответ #17 : 04-02-2008 09:14 » |
|
я хотел создать буквы, потом выводить их. Мне посоветовали программку, которая копирует системные шрифты. Копирует в файл. И теперь этот файл можно использовать. Как? Подскажите, пожалуйста.
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #18 : 04-02-2008 11:40 » |
|
я хотел создать буквы, потом выводить их. Мне посоветовали программку, которая копирует системные шрифты. Копирует в файл. И теперь этот файл можно использовать. Как? Подскажите, пожалуйста. Как говорится: "Кто здесь?" Там же примеры на Pascal приложены Ну шрифты они обычно в векторном формате вобще-то. Я про DOS и текстовый режим - там растровые.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #19 : 13-01-2009 14:33 » |
|
а тут утилиту из #15 в файлы, если она того стОит, а остальное в мусор.
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #20 : 13-01-2009 15:24 » |
|
Ок. Если не затруднит - кинь мне ссылку на это в ЛС, чтобы не забыть.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
|