资源描述:
《IDL入门教程七(上).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章图形硬拷贝输出本章概要在使用IDL的时候,如何以硬拷贝形式再现屏幕中的图形是最复杂,也是最难理解的问题。然而,这是大多数献身科学的人的需求,但很少有令人完全满意的方法来和同事共享科学结果。本章将集中于PostScript输出,因为PostScript是普遍接收的一种输出媒介,大部分使用IDL的程序员都能使用PostScript打印机。所有关于PostScript的内容同样适用于其它输出设备,比如HP绘图仪和PCL打印机。具体来说,将学习:1.如何选择硬拷贝输出设备2.如何配置硬拷贝输出设备3.如何将图形输出直接传送到打印机4.如何将图形输出传送
2、到一个文件中5.如何为硬拷贝输出设备产生图形输出6.PostScript输出与显示器的输出有什么不同7.如何在PostScript页面上定位图形和图像8.如何产生能包含在其它文档中的图形输出9.如何编写能很容易地转化为硬拷贝输出的程序10.如何在PostScript种使用颜色选择图形硬拷贝输出设备与设置其它图形显示设备一样,在IDL中,仍然使用Set_plot命令来设置图形硬拷贝输出设备:Set_Plot,'option'其中的option是下列的任何一种,注意option总是一个字符串,因此要使用单引号括起来。与IDL其它大多数字符串不一样,opt
3、ion对大小写不敏感。CGM输出写入CGM(计算机图形元文件)格式的文件中,CGM也是一种独立于设备的文件格式,用于交换图形信息。CGM文件能以三种形式之一编码:(1)文本,(2)二进制数据,(3)NCAR二进制数据。HP输出以惠普图形语言(HP-GL)格式写入一个文件,它适用于各种各样的HP-GL笔式绘图仪。PCL输出以惠普打印机控制语言(PCL)格式写入一个文件,它适用于各式激光和喷墨打印机。PRINTER输出以任何适合于默认打印机的方式直接传送到该打印机。PS输出以PostScript格式写入一个文件中。Z输出被写入Z图形缓冲区。16/16在打
4、印完毕后,应再次使用Set_plot命令将输出设备改回为图形显示设备的类型,以下是一些常用的显示设备:WIN使用微软Windows或NT操作系统的个人计算机。MAC使用MacOS操作系统的计算机X使用XWindow系统的计算机。只有一种设备能成为当前图形设备,可以通过检查!D.Name系统变量来确定当前的设备是哪种,如下:IDL>Print,!D.Name注意,当设定设备名时,设备名对大小写不敏感,但当在代码中使用该名字时,就不一定不敏感了。存储在!D.Name系统变量中的图形设备名是以大写字母形式存储的。这在下面的字符串比较语句中尤为重要:IDL>
5、IF!D.NameEQ'PS'THENPrint,'UsingPostScript…'配置图形硬拷贝输出设备一旦选定了图形输出设备,所有设备具体的配置参数都用Device命令通过关键字来控制。Device命令可用的关键字主要取决于当前的设备。但打印设备(总是和默认的打印机相连)的设置也可以使用Dialog_PrinterSetup命令来设置(详见201页的“配置和使用打印设备”)。测定当前的设备配置使用Help命令,可以知道当前硬拷贝输出设备所设定的配置参数,如下:IDL>Help,/Device将能看到一系列的有关当前图形设备的当前设置参数及其参数
6、值。这些信息可以用来配置设备。关于设备可用的颜色数,IDL使用的是哪种图形函数以及当前选择的硬件字体等等信息,都取决于所设定的当前设备是何种设备。注意,这些信息的显示随着每个硬拷贝输出选项的不同而不同。例如,键入下面这些命令来看PostScript输出设备缺省配置如何:IDL>thisDevice=!D,NameIDL>Set_Plot,'PS'IDL>Help,/DeviceIDL>Set_Plot,thisDevice以下为Help命令的显示结果(在WindowsNT机器上):AvailableGraphicsDevices:CGMHPNULLP
7、CLPRINTERPSWINZCurrentgraphicsdevice:PSFile:Mode:Portrait,Non-Encapsulated,EPSIPreviewDisabled,ColorDisabledOffset(X,Y):(1.905,12.7)cm.,(0.75,5)in.Size(X,Y):(17.78,12.7)cm.,(7,5)in.ScaleFactor:1FontSize:12FontEncoding:AdobeStandardFont:HelveticaTrueTypeFont:#bits
8、perimagepixel:4FontMapping:16/16(!3)Helvetica(!4)Helve