2013-07-18 8 views
2

Я новичок на языке PostScript. Теперь я использую ps для печати масштабированного изображения точек. По умолчанию dpi в ps составляет 72dpi, мне интересно, как изменить его на 600 точек на дюйм.Как изменить dpi в PostScript

Код, который я пишу следующим образом, это квадрат точек.

%%Dot_unit 
%%position setting 
100 200 translate 
%%size setting  
52 49 scale 
%%parameter setting:width height bit matrix 
52 49 1 [52 0 0 -49 0 49] 
%%dot unit discribe 
{< 
fff7ff7ff7ff7f 
ffffffffffffff 
ffffffffffffff 
ffffffffffffff 
fffff7ffff7fff 
ffffffffffffff 
ffffffffffffff 
ffffffffffffff 
ffffffffffffff 
fdfffffdffffff 
ffffffffffffff 
ffffffffffffff 
7ff7ff7ff7ff7f 
ffffffffffffff 
ffffffffffffff 
ffffffffffffff 
ffff7ffffff7ff 
ffffffffffffff 
ffbfffffbfffff 
ffffffffffffff 
ffffffffffffff 
ffffffffffffff 
ffffffffffffff 
ffffffffffffff 
7ff7ff7ff7ff7f 
ffffffffffffff 
ffffffffffffff 
ffffffffffffff 
fffffff7ffffff 
ffffffffffffff 
fffffbffffffff 
ffffffffffffff 
ff7fffffffffff 
ffffffffffdfff 
ffffffffffffff 
ffffffffffffff 
7ff7ff7ff7ff7f 
ffffffffffffff 
ffffffffffffff 
ffffffffffffff 
ffffffff7fffff 
ffffffffffffff 
ffffffffffffff 
ffffffffffffff 
ff7fffffffffff 
7fffdfffffdfff 
ffffffffffffff 
ffffffffffffff 
fff7ff7ff7ff7f 
>} 
image 
showpage 

ответ

2

В PostScript нет значения по умолчанию для dpi. Пользовательское пространство настроено таким образом, что система координат составляет 72 единицы к дюйму, но это на самом деле не то же самое. Если вы хотите другое пространство пользователя, вы изменяете CTM (Current Transformation Matrix). Все координирующие изменения системы зависят от изменений в матрице, часто CTM.

В случае изображений оператор изображения отображает изображение в квадратную область размером 1 единицу, которая затем передается через матрицу изображения для рендеринга на холст с использованием CTM. В случае примера выше изображение масштабируется в 52 раза в направлении x и 49 в направлении Y. Если вы измените масштаб или матрицу изображения, вы получите разные результаты.

Площадь, на которую распространяется изображение, не зависит от устройства, когда вы печатаете его, объекты пространства пользователя отображаются в пространстве устройства (с использованием матрицы устройства). Поэтому, если ваш принтер имеет разрешение 600 точек на дюйм или 2400 точек на дюйм, изображение будет по-прежнему покрывать одну и ту же область на выходной странице.

Все, о чем вам нужно беспокоиться, это область, которую вы хотите покрыть, вам не нужно беспокоиться о решимости.

+0

Спасибо! Я решил проблему, основанную на ваших советах. –

+0

Существует опция ghostscript '-r', которая * kindof * изменяет dpi, по крайней мере, при использовании устройств с файлами изображений. –

Смежные вопросы