欢迎来到天天文库
浏览记录
ID:18521912
大小:46.18 KB
页数:6页
时间:2018-09-18
《浅谈基于postscript 语言的印刷页面输出new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、浅谈基于Postscript语言的印刷页面输出印前处理系统中,目前常用的页面描述语言是Adobe的Postscript语言。页面描述语言是一种具有较强图形功能的通用程序设计语言,其主要功能是在输出页面上,描述文字、图形和图像。由于这种描述是通过抽取图形实体来完成的,因此描述质量高,经济有效,且与设备无关。 一、基于Postscript的印刷页面编程基础 1.Postscript语言的特点 从PS语言本身看,它一方面是一种具有很强图形功能的通用程序设计语言,另一方面又是一种具有一般程序设计语言特性的页面描述语言。也就是说,Postscript具有通用
2、程序设计语言和页面描述语言的双重特征。归纳起来,PS语言其有以下主要特点: ①具有通用程序设计语言的一些基本结构,用Postscript描述的页面信息紧凑而有效。 ②具有强大的文字、图形和图像处理功能。 构成由直线、圆弧和三次曲线组成的任意形状的图形,图形可以自交或包含不相连的部分和空洞;填充操作允许图形轮廓线是任意形状和任意宽度;裁剪路径可以是任意形状;填充颜色可以通过Grayscale,RGB,CMYK,CIE-based等多种途径指定,也可以是重复图案、光滑的渐变、彩色映射和专色;文字完全作为图形处理,所以PS语言的任何图形操作符同样适用于文
3、字;PS语言能根据不同的彩色模型以任意分辨率描述取样图像,提供处理和输出取样图像的功能;在通用坐标系中,PS语言支持由平移、变比和旋转等线性变换组成的复合变换,而且这些变换适用于页面描述的所有元素,即文字、图形和图像。 2.Postscript的页面图形描述基本方法 PS语言最显著的特点就是它具有强大的页面描述功能。PS语言根据Adobe公司所提出的成像模型,把对页面上图形的描述简化为构造路径和着色路径两个基本过程。通过这两个基本操作便可产生任意形状的几何图形。 ①路径构造。 Postscript路径是定义多种形状、轨迹和区域的方法,路径用来画线
4、、指定填充区域的边界和定义裁剪其它图形的模板。路径由直线段和曲线段组成,这些线段可以相互连结也可以不连结,路径的拓扑结构是没有限制的,可以是凸形,也可以是凹形的,它可以包含多个封闭子路径,因而表示几个区域,并且路径可以按任意方式自身相交。 路径用Postscript图形机制内部的数据结构来表示,尽管路径不像Postscript对象那样可以直接存取,但是它的构造和使用完全在Postscript程序的控制之下。 ②着色处理与图形生成。 着色操作符通过把几何图形扫描变换到光栅存贮器中来表示当前页上的标记,常用的着色操作符主要有stroke和fill,较为
5、专用的操作符是image。 ③Postscript字符和字库的特点。 在PS语言中,文本是由一系列的Postscript字符组成的,而任意Postscript字符是一个能进行任何图形操作的图形。只是它们各自具有不同的形状,而且这些图形形状都是由一段贝塞尔曲线段和直线段构成的。 字库资源是PS语言提供的一个最主要的资源类,它是各类字符的集合,其中包含了字符形状路径的定义。由于字符具有多种字体属性,同一个字符采用不同字体时的字符形状各不相同。因此,Postscript把一种字体的字符定义存放在一个字库资源实例中,这样的一个实例便是一个字库。作为资源,字
6、库通常只是在Postscript程序需要时才由解释器装入到虚存中。通常,字库是以程序文件的形式存在,因而一种字体便是一个“字库程序”。当解释器遇到findfont时,便会根据它的操作数对象所提供的字库名去执行某一个字库程序,从而创建一个字库词典,并把它存放在全局或局部虚存中。一般地,字库名总是用相应的字体名称加前缀“/’来表示,如/Helvetica,/Times-Roman等。 由于Postscript字库是以矢量的方式定义字符,其中的Postscript字符可以进行任意的缩放操作而不会产生字符的变形或者出现锯齿现象。因此,在Postscript字库
7、中只需定义一种大小的字符形状,便可通过对字符坐标系的缩放操作而得到任意大小的相应字符。 ④按图形方式处理文本的过程。 PS语言把任何字符都当作图形来处理,而有关字符路径的描述都包含在Postscript所提供的字库资源中,Postscript程序只要使用相应字库便可调用这些字符路径。PS语言控制文本输出包括两大过程,即设置当前字库与显示字符。 设置当前字库 这一过程解释器通常需经过选择字库、确定字体大小和设定字库三个步骤。 选择字库:PS语言使用findfont操作符把所需的字库词典压入到操作数栈顶,这可通过把相应的字库名字作为findfont
8、操作符的操作数对象来实现。例如:用/Times-Roman等。 确定字体大小:
此文档下载收益归作者所有