[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Postscript Output
- Subject: Re: Postscript Output
- From: "Liam E. Gumley" <Liam.Gumley(at)ssec.wisc.edu>
- Date: Mon, 31 Jan 2000 12:41:50 -0600
- Newsgroups: comp.lang.idl-pvwave
- Organization: University of Wisconsin, Madison
- References: <3895B6FF.9274B7BE@stud.uni-karlsruhe.de> <3895CBCD.28F77A72@ssec.wisc.edu>
- Xref: news.doit.wisc.edu comp.lang.idl-pvwave:18193
"Liam E. Gumley" wrote:
> uq9j wrote:
>
> > I'm trying to export the contents of an IDL graphics window to a
> > postscript file. This is the IDL code I've been using so far in a
> > subroutine:
> >
> > set_plot,'PS'
> >
> > device, /color, file='file.ps'
> >
> > tv,image ;the variable image contains the pixel raster to store
> >
> > device, /close
> >
> > A postscript file is generated, however, the page is empty.
> > What is wrong? Who can help me?
>
> When TV is used to display an image on the Postscript device, you must
> use the XSIZE and YSIZE keywords to specify the image size.
>
> However I think you'll find it much easier to grab my IMDISP program
> from
> http://cimss.ssec.wisc.edu/~gumley/imdisp.html
>
> and try the following:
>
> entry_device = !d.name
> set_plot, 'PS'
> device, /color, bits=8, file='image.ps'
> imdisp, image
> device, /close
>
> Note the use of the BITS keyword. I think you'll find IMDISP much easier
> to use in graphics windows as well, e.g.
>
> set_plot, entry_device
> imdisp, image
>
> Cheers,
> Liam.
> http://cimss.ssec.wisc.edu/~gumley
As David correctly points out, if you don't see an image, it probably
wasn't byte-scaled correctly. Fortunately, IMDISP automatically byte scales
the image.
One more thing: If your graphics display is running in 8-bit mode, then
make sure you load the appropriate color table *after* you switch to
Postscript mode. In 8-bit mode, the size of the color table might be 175.
So if you load the grayscale color table, it is loaded with 175 levels. In
Postscript mode, the color table size is always 256, so you need to re-load
the color table: Immediately before the TV (or IMDISP) command is the best
place to do it:
table = 0
entry_device = !d.name
set_plot, 'PS'
device, /color, bits=8, file='image.ps'
loadct, table
imdisp, image
device, /close
set_plot, entry_device
If you are running IDL in 24-bit mode, then you don't have to worry,
because the color table size is always 256, no matter which graphics device
is selected.
Cheers,
Liam.
http://cimss.ssec.wisc.edu/~gumley