Для этого же адаптера в цветном режиме (режимы 4, 5) смещение будет

Offset = OX2000 * (y & 0X01) + 80 * (y>>1) + X/4,

а) номер пиксела в байте определится так

X %4.

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

б) Для EGA адаптера при двухцветном изображении

Offset = 80 * Y + X/8,

А номер пиксела соответственно X%8.

При четырехцветном изображении

Offset = 80 * Y + X/4,

Номер пиксела - X%4.

При шестнадцати – цветном изображении

Offset = 80 * Y + X/2,

А номер пиксела – X%2.

в) Для VGA – адаптера в режиме 11h (черно-белом) смещение будет

Offset = 80 * Y + X/8, а номер пиксела X%8.

В режиме 12h смещение равно

Offset = 320 * Y + X/2, а номер пиксела X%2.

В режиме 13h смещение равно

Offset = 320 * Y + X, так как каждому пикселу соответствует 1 байт памяти, размер строки – 320 пикселов.

Следует отметить, что в режиме 12h определяется номер четверки битов байта, соответствующей пикселу, т.е. его цвету.

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

Адрес байта, которому принадлежит данный пиксел определяется функцией

P = MK_FP (segment, offset)


Глава 8. Ввод графической информации с помощью сканера.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: