Аппаратное обеспечение IBM PC


         

Выдаем на принтер команду графической


int main() {

int i;

// Переводим строку

printchar(0x0d); printchar(0x0a);

// Выдаем на принтер команду графической // печати (ESC "*" m n1 n2 data)

printchar(27); printchar('*');

// Выбираем режим 32 - 24-битовая графика, // одинарная плотность

printchar(32);

// Задаем длину графической строки: // n1 = 40; n2 = 0

printchar(40); printchar(0);

// Выводим в цикле 120 раз байт DBh. Для вывода // строки из 40 столбцов в 24-битовом режиме // требуется в три раза больше графических данных, // чем для 8-битового режима.

for(i=0; i<120; i++) printchar(0xdb);

// Переводим строку

printchar(0x0d); printchar(0x0a);

}

// ------------------------------------ // Эта функция выводит один символ // на стандартный принтер (LPT1) // ------------------------------------

int printchar(int chr) {

// Вызываем функцию 5 прерывания INT 21h - // распечатка символа на принтере.

rg.h.ah = 5; rg.h.dl = chr;

int86(0x21, &rg, &rg);

}

Для вывода на принтер сложных графических изображений ваша программа должна сначала подготовить массив данных для построчной 8-битовой или 24-битовой печати. Затем готовый массив можно вывести на принтер, используя несколько команд графического вывода (по одной команде на одну графическую строку).


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