Главная » Ассемблер, Железо » Принтеры: печать в растровом режиме

0

У программистов при работе с принтерами возникает та же самая проблема, что и при работе с другими типами аппаратуры: изготовители в документации обычно приводят наборы команд, но не дают ни пояснений, зачем эти команды нужны, ни рекомендаций по использованию, ни примеров — предполагается, что все и так понятно из названия команды. Есть только одна особенность: другие устройства еще не документированы, а принтеры — уже не документированы. В последнее время изготовители принтеров стали придерживаться теории, утверждающей, что пользователям знать о командах вообще ничего не нужно, и изъяли всякое упоминание о них из описаний типа User’s Manual, поставляемых вместе с принтерами. В общем-то, эта теория верна, однако для специалистов информацию можно было оставить хотя бы в Интернете…

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

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

t

группы потребителей — у инженеров и ученых, занимающихся измерением и регистрацией параметров процессов, протекающих в реальном времени. В-третьих, до недавнего времени у персональных компьютеров было недостаточно оперативной памяти для эффективной работы с растром: создание черно-белого растрового изображения размером с один лист бумаги формата А4 при разрешении 300 точек на дюйм (12 тчк/мм) требует 1,1 Мбайт памяти. При полутоновой или цветной печати для кодирования каждой точки требуется не один, а несколько битов памяти, то есть для создания изображения размера А4 нужно уже от 5 до 30 Мбайт.

Хотя идея растрового режима, то есть разделения изображения на клеточки, сама по себе очень проста, реализовать эту идею при недостаточном объеме памяти компьютера довольно трудно: приходится разбивать лист на небольшие кусочки — сегменты — и работать с ними, по очереди считывая и записывая обратно на диск. Поскольку элементы изображения не обязательно находятся внутри одного сегмента, приходится прорисовывать их по частям, контролируя пересечение границ сегментов. Сегментация изображения, таким образом, сильно замедляет и затрудняет работу с ним. Значительное падение цен на оперативную память и увеличение ее типового объема в персональных компьютерах до 32 Мбайт открывает новые возможности для использования растрового режима — теперь изображение можно создавать сразу для целого листа, что существенно упрощает алгоритмы рисования.

Основной проблемой растрового режима является отсутствие единого общепризнанного командного языка: для лазерных принтеров фактическим стандартом является язык команд PCL фирмы Hewlett-Packard, а для матричных — язык ESC/P2 фирмы Epson. Для струйных принтеров единого стандарта нет: принтеры Hewlett- Packard (не все) работают с языком PCL, принтеры Epson — с языками ESC/P2 и Epson raster, а остальные имеют собственные командные языки, разработанные изготовителями и не описанные в общедоступной документации.

И у Epson, и у Hewlett-Packard очень скудно представлены сведения о цветной печати: в лучшем случае приводится краткое описание набора команд, а примеры их использования отсутствуют. Ситуация с документацией тем более странная, что для современных принтеров нижней ценовой группы растровый режим является основным, а во многих случаях и единственным режимом работы.

Источник: Кулаков В. К90 Программирование на аппаратном уровне: специальный справочник (+дискета). 2-е издание. — СПб.: Питер, 2003. — 847 е.: ил.

По теме:

  • Комментарии