Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Графмческий режим 13h

723
07 августа 2004 года
Tommy
78 / / 13.10.2002
Чего то я никак не пойму
Устанавливаю графический режим 13h затем надо рисовать по адресу A000:0000 Так вот а как установить цвет точки, то есть установить задавая интенсивность красного зелёного и синего.
7.6K
21 сентября 2004 года
johncapfull
21 / / 14.09.2004
Цитата:
Originally posted by Tommy
Чего то я никак не пойму
Устанавливаю графический режим 13h затем надо рисовать по адресу A000:0000 Так вот а как установить цвет точки, то есть установить задавая интенсивность красного зелёного и синего.


Через порты видеоадаптера VGA.

8.6K
03 ноября 2004 года
Al Pachino
10 / / 03.11.2004
Цитата:
Originally posted by Tommy
Чего то я никак не пойму
Устанавливаю графический режим 13h затем надо рисовать по адресу A000:0000 Так вот а как установить цвет точки, то есть установить задавая интенсивность красного зелёного и синего.


Режим 13h имеет расширение 320х200 пиксел. С A000:0000 начинается видеопамять. Каждый пиксел в нем занимает 1 байт. Этот байт указывает на индекс в палитре цветов. Если ты хочешь изменить например цвет верхнего левого пиксела то в адрес A000:0000 ты должен записать его индекс. Если ты запишешь например 1, то на мониторе нарисуется точка тем цветом который находится в палитре под номером 1. Палитра - это массив 3-байтовых структур. Длина массива 256. т.е. выражаясь языком С:

struct
{
unsigned char r, g, b;
} Color;

Color palette[256];

r, g, b - это соответственно красная, зеленая и синяя составляющая.
Если изменишь в палитре какой нибудь индекс то все пиксели с этим индексом мгновенно изменят цвет. А вот как изменить эти цвета в палитре я не помню.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог