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

         

А 2 Начало обработки заголовка BMPфайла



Пример А.2. Начало обработки заголовка BMP-файла

JitMap: mov ex, 16 ; размер порции для чтения
mov SwpOffs, 0 ; адрес начала считываемых данных
call Readf ; чтение первых 16-ти байтов файла
jnc FilType ; -> чтение без ошибрк ret ; возврат при ошибке чтения
i /рилижение А. Рисунки в сраилал и
FilType xor si, si очистка регистра si
mov fs, SwpSeg fs = сегмент буфера обмена
mov ax, fs: [si] ax = метка файла ("ВМ")
cmp ax, 4D42h файл типа BMP?
je bmpfil -> да
stc нет, установка С-разряда
ret возврат, файл не BMP
bmpfil: mov ex, fs: [si+OAh] сх = смещение области данных
sub ex , 16 сх = сх — 16, порция для чтения
mov SwpOffs, 16 адрес начала считываемых данных
call Readf чтение остатка заголовка и палитры
jnc part_2 -> чтение без ошибок
ret возврат при ошибке чтения

В примере А.2 выполняются достаточно простые действия, поэтому мы не будем останавливаться на их подробном описании.

Теперь нужно определить величины, необходимые для построения рисунка, и выполнить манипуляции, связанные с обработкой палитры. Вообще говоря, порядок дальнейших действий не имеет принципиального значения, но мы начнем с определения характеристик изображения.



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