![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Slay1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 17.5.2006 Репутация: нет Всего: нет |
Насколько я читал в разных мануалах VGAHI рассчитанн на 16 цветов.
Как задать режим, который способен отображать 256 цветов? Пробовал IBM8514(написано что макимально 1024х768 и 256 цветов, что мне и нужно), но выскакивали только ерроры. Детектграф опредиляет видеодрайвер как VGA. Так как заставить отображать 256 цветов? И еще вопрос по теме, допустим я перешел в режим с 256 цветами, но как эти цвета выводить на экран? Стандартные функции работают ведь только с форматом задания цвета типа BLACK или номер цвета. Как задавать и выводить на экран нужные мне цвета? Если можно пример пожалуйста. Как например сделать putpixel цвету 0,0,180? Буду очень благодарный за ответы. |
|||
|
||||
| regis |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 12.12.2005 Где: Москва, Россия Репутация: 2 Всего: 7 |
Все 256-цветовые режимы выше 320x200 - это уже не VGA, а SuperVGA! Стандартные борландовские драйвера эти режимы не поддерживали. AFAIK, их вообще нельзя было поддерживать переносимым образом, пока стандарт VESA 1.0 не появился. Вам нужны SVGA драйвера для BGI, поддерживающие VESA. Вроде был какой-то VESA.BGI (хотя не уверен, был ли это родной продукт или хакерская поделка). Поищите в Сети.
Элементарно: индекс цвета == индекс пиксела. (А реальный цвет зависит от палитры, которая устанавливается так же, как и в других VGA режимах.)
Или вам уже TrueColor нужен? Боюсь, с этим функции типа putpixel работать точно не будут. --------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой. |
||||||
|
|||||||
| Slay1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 17.5.2006 Репутация: нет Всего: нет |
regis,
Спасибоза ответ. Я думаю что мне наверное все таки достаточно будет 256 цветов. Как цвет задавать я уже разобрался(ф-я setrgbpalette). Но есть еще вопросьі. Максимальное количество цветов в палитре только 16? И еще. Заюзал я SVGA256.BGI(хочется попробовать разрешение 1280х1024), и столкнулса с такой проблемой.
Вьідает просто черньій єкран, а должньі бьіть прямоугольники с градациями серого. Об никаких ошьібках не информирует. В то же время, если вместо int gdriver = installuserdriver("SVGA256",NULL), gmode = 6, errorcode; написать int gdriver = VGA, gmode = 2, errorcode; Все нормально работает, єкран заливается градиентами серого. Насколько я понял VGA и SVGA256 отличаются только тем, что второй поддержьівает режьімьі вплоть до 1280х1024. Так почему же программа не работает если использовать SVGA256.BGI??? Это сообщение отредактировал(а) Slay1 - 23.5.2006, 21:51 |
|||
|
||||
| regis |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 12.12.2005 Где: Москва, Россия Репутация: 2 Всего: 7 |
Нет, в 256 цветовых режимах каждый цвет можно перепрограммировать. Другое дело -- не уверен, что это можно ф-циями BGI (которые в основном ориентированы на 16-цветовые режимы). Если не получится, можно попробовать функции BIOS (int 10h, ah=11h кажется... точно не помню). Добавлено @ 12:49
Такое ощущение, что просто неправильно инициализируется видеорежим. Я сам давненько не программировал под DOS (да еще на Borland-овских компиляторах), так что могу ошибаться. Но смутно вспоминается, что сначала надо делать installuserdriver, потом -- инициализировать соотв. режим через initgraph. И естественно, тщательно проверять коды ошибок на каждом этапе. Также проверить путь к SVGA256.BGI. Вот все, что пока могу посоветовать. Это сообщение отредактировал(а) regis - 25.5.2006, 12:50 --------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой. |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |