Assembler для начинающих


         

для вывода на принтер образа


             Фиг.10.4 Графические команды для принтера
      Приведенная на Фиг. 10.5 программа использует указанные команды
    для вывода на принтер образа экрана графического дисплея размером
    320*200 точек. Каждая точка растра передается на принтер. Если
    точка на экране имеет цвет фона, то соответствующая точка на печать
    не выдается. Если точка окрашена в один из трех основных цветов, то
    программа выводит на печать черную точку. Эта программа не
    масштабирует изображение, поэтому окружность на экране может
    отобразиться в эллипс на принтере. Между тремя основными цветами не
    проводится различий. Цветное изображение превращается в
    черно-белое.
 
      Подпрограмма PRINT_SCREEN является процедурой типа FAR. Вызов
    ее из языка Бейсик является вызовом типа FAR, поэтому и возврат в
    программу должен быть соответствующего типа. Последовательность ESC
    + "3" + 24 устанавливает такой интервал между строками печати, что
    один ряд точек вплотную примыкает к другому. В печатающей головке
    имеется восемь иголок, расстояние между которыми равно 1/72 дюйма.
    Если сделать интервал между строками равным 8/72 дюйма (или 24/216
    дюйма), то ряды точек соединятся. Приведенный фрагмент программы
    показывает способ пересылки на устройство печати последовательности
    служебных символов. Управляющая последовательность символов и чисел
    пересылается на принтер как обычные символы. Остальное обеспечивает
    устройство печати.
 
      При каждом проходе печатающей головки на бумаге остается по
    восемь рядов точек (по одному на каждую иголку печатающей головки)
    в   каждой из 320 колонок. От метки NEXT_ROW в программе
    последовательность ESC + "K" + 64 + 1 пересылается на принтер. Это
    означает, что последующие 320 байт (64 + 1*256) являются образами
    точек для получения графического изображения на принтере. В
    графическом режиме "K" на принтере можно получить изображение
    шириной до 480 точек.

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