Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Cовмещение графического и текстового режимов  (Прочитано 20385 раз)
0 Пользователей и 1 Гость смотрят эту тему.
beginer
Гость
« : 29-01-2008 08:12 » 

Я вот что хочу спросить: В Windows, выводится одновременно и текст и графика. Но я знаю, что нужно переключаться, если хочешь выводить графику или текст. Как в Windows удалось реализовать и то и другое?

Они наверно постоянно работают в графическом режиме, а буквы созданны из пикселей?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 29-01-2008 08:23 » 

beginer, конечно постоянно в графическом, всё из пикселей. Только не отдельных пикселей, а объединённых в группы - объекты (после вывода на экран объекты часто становятся просто набором пикселов, ну а иногда организуется интерактивность - зависит от объекта и программы, в которой выводится графика)
Записан

Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 29-01-2008 08:25 » 

beginer, что такое растровые шрифты, что такое векторные шрифты?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
beginer
Гость
« Ответ #3 : 29-01-2008 08:49 » 

Понял. Что бы это сотворить, вручную надо создавать бибилиотеку, или можно скачать где-нибудь?
Потому что это опупеть, 255 символов из пикселов ...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 29-01-2008 09:26 » 

>> 255 символов из пикселов ...

сами символы - максимум неделька, мининмум день в любимом графическом редакторе, поддерживающем пикселы. Или самописная утилитка
Записан

Aveic
Постоялец

ru
Offline Offline
Пол: Мужской
Yellow


« Ответ #5 : 29-01-2008 10:59 » 

лучше самописную, я делал такую, когда шрифт для чеков подделывал Улыбаюсь 2 часа писал программу, и часа 3 символы подгонял Улыбаюсь
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 29-01-2008 11:09 » 

можно не подгонять, а отсканировать и подложить Ага
Записан

beginer
Гость
« Ответ #7 : 29-01-2008 17:48 » new

Цитата
мининмум день в любимом графическом редакторе
ты предлагаешь нарисовать, потом обратится к ГК и считать матрицу, потом использовать?

Цитата
2 часа писал программу, и часа 3 символы подгонял
кратенько принцип можешь обьяснить?

Цитата
можно не подгонять, а отсканировать и подложить
сканер места много займет, я думаю
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #8 : 29-01-2008 17:58 » 

>>ты предлагаешь нарисовать, потом обратится к ГК и считать матрицу, потом использовать?
предлагаю проще - загнать пикселы в массив и вся недолга


>>сканер места много займет, я думаю
 - во первых, понты, во вторых - обвёл и удалил
Записан

Aveic
Постоялец

ru
Offline Offline
Пол: Мужской
Yellow


« Ответ #9 : 29-01-2008 21:55 » 

2 часа писал программу, и часа 3 символы подгонял
кратенько принцип можешь обьяснить?
Алексей уже принцип назвал - матрица. Этим по идеи все сказано. в общем, я рисовал сетку (например 8 на 8 ), и нажимал на квадратики, которые необходимо для каждого символа. Заполненный квадратик (пиксел) - 1, пустой - 0 Улыбаюсь потом все эти матрицы (набор 0 или 1) сохранял в так называемый файл шрифта, где были нули и единицы, т.к. размер матрицы был фиксированный. Тем самым можно даже разные шрифты поддерживать Улыбаюсь


Записан
sss
Специалист

ru
Offline 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
Специалист

ru
Offline Offline

« Ответ #12 : 31-01-2008 02:02 » 

Если я правильно понял вопрос, то в реальных

текстовых режимах адрес видеобуфера 0xB800. Формат видеобуфера - байт атрибута, байт символа, байт атрибута, байт символа ... Или наоборот, байт символа, байт атрибута, байт символа, байт атрибута.

графических режимах ( VGA) адрес видеобуфера 0xA000. Формат видеобуфера зависит от режима.

Вообще говоря, все не совсем просто. Если собрался лезть в такие дебри - необходимо иметь под рукой документацию. Например что то вроде книги "Программирование аппаратных средств".
Записан

while (8==8)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 31-01-2008 06:06 » 

Могу дать DOS-утилитку выгрузки из текущих установок, из ROM, сохранения в файл, загрузки из файла растровых шрифтов текстового режима 8x8, 8x14, 8x16; также она позволяет редактировать шрифты и генерировать простейшие DOS-драйверы для установки шрифтов (если память мне не изменяет, это 12h функция 10h прерывания). Также могу дать несколько разных наборов шрифтов.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
beginer
Гость
« Ответ #14 : 31-01-2008 07:06 » 

dimka, давай, посмотрю
Записан
Dimka
Деятель
Команда клуба

ru
Offline 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 Кб - загружено 1052 раз.)
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
beginer
Гость
« Ответ #16 : 31-01-2008 19:25 » 

скачал посмотрю завтра. Спасибо.
Записан
beginer
Гость
« Ответ #17 : 04-02-2008 09:14 » 

я хотел создать буквы, потом выводить их. Мне посоветовали программку, которая копирует системные шрифты. Копирует в файл. И теперь этот файл можно использовать. Как? Подскажите, пожалуйста.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #18 : 04-02-2008 11:40 » 

Цитата: beginer
я хотел создать буквы, потом выводить их. Мне посоветовали программку, которая копирует системные шрифты. Копирует в файл. И теперь этот файл можно использовать. Как? Подскажите, пожалуйста.
Как говорится: "Кто здесь?" Улыбаюсь

Там же примеры на Pascal приложены Улыбаюсь

Цитата: Джон
Ну шрифты они обычно в векторном формате вобще-то.
Я про DOS и текстовый режим - там растровые.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #19 : 13-01-2009 14:33 » 

а тут утилиту из #15 в файлы, если она того стОит, а остальное в мусор.
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 13-01-2009 15:24 » 

Ок. Если не затруднит - кинь мне ссылку на это в ЛС, чтобы не забыть.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines