Графические устройства

         

Построение рисунков, использующих палитру

Если задача выполнила действия, описанные в предыдущих разделах, то остается только указать адрес начала рисунка в видеопамяти и можно начинать процедуру его построения. При работе с файлами формата BMP достаточно иметь одну универсальную процедуру, выполняющую построение изображения снизу вверх. Тем не менее, мы рассмотрим вариант построения сверху вниз с одновременным переворотом рисунка.
Нас будут интересовать универсальные процедуры построения рисунка, текст которых не зависит от установленного в задаче видеорежима. В первую очередь от него зависит размер кодов точек и, как следствие, размер строки и значение константы переадресации строк видеопамяти. В разделе 7.2 были введены следующие переменные, содержащие характеристики видеорежима:

bperline - размер отображаемой на экране строки в байтах
bytppnt - размер кода точки, выраженный в байтах
wrdppnt - размер кода точки, выраженный в словах

Они используются в описанных ниже подпрограммах для автоматической настройки на установленный задачей видеорежим.

От видеорежима зависит не только размер кода точки, но и расположение в нем базовых цветов. Учет этих двух факторов будет производиться в подпрограммах нижнего уровня, выполняющих запись кодов точек рисунка в видеопамять. За счет этого достигается универсальность подпрограмм, выполняющих как построение рисунка в целом, так и его отдельных


строк.


Содержание раздела