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

         

Описание следующего шага



Описание следующего шага

Расположение полей, содержащих значения для переменных iwidth, iheight и bitcnt, зависит от того, какому формату соответствует заголовок — Windows или OS/2. Напомним, что эти форматы различаются размером информационной части заголовка, указанным в поле bisize или bcsize (его смещение ОЕb).

Шаг 3. Выбираем содержимое полей заголовка biwidth, biHeight и biBitCnt с учетом значения, указанного в поле bisize, и сохраняем выбранные величины в переменных iwidth, iheight и bitcnt. В заключение проверяем значение bitcnt, и если оно равно ish (24), то обработка заголовка закончена, и выполнение подпрограммы Bitmap завершается. В соответствии со стандартом BMP поле biBitCnt может содержать значения 1, 4, 8 или ish. Последнее значение соответствует полноцветным рисункам, не использующим палитру цветов, поэтому никакие манипуляции с палитрой не требуются, что и позволяет просто завершить подпрограмму.

Полученные на этом шаге величины содержат исчерпывающую исходную информацию и позволяют вычислить все, что нужно для построения рисунка. В конце раздела А.2.1 говорилось, что при работе с вмр-файлами доверять можно только этим величинам. Значения, содержащиеся в других по-пях заголовка, могут быть ошибочными.
Программная реализация описанного шага показана в примере А.З, который является продолжением примера А.2.



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