Last modified: November 2016

URL: https://cxc.cfa.harvard.edu/chips/ahelp/print_image.html
AHELP for CIAO 4.11 ChIPS v1

print_image

Context: images

Synopsis

Prints the image to a file or the printer.

Syntax

print_image([id])
print_image([id,] filename)
print_image([id,] filename, attributes)
print_image([id,] attributes)

Description

The function arguments.

Argument Description
id A ChipsId structure identifying the item.
filename If a recognized suffix is included in the filename - namely ".png", ".jpg", or ".jpeg" - then the corresponding format will be used, otherwise the format attribute will be used.
attributes Configure object properties by giving an attribute string (a space-separated list of key=value pairs), list, dictionary, or a ChIPS object.

The print_image command prints the image only to either a file (if "filename" is specified) or the printer. To print the image with the colorbar, labels, etc., use the print_window command.

Output format

ChIPS can create image files in JPEG and PNG format. There are three ways to specify the output format:

The list above is given in the order that the format is checked for, so

chips> print_image("plot.png", ["format", "jpg"])

will create a PNG format file called "plot.png", and not a JPG image.

If a filename is given with a suffix that is not recognized, then the output format will be taken from either the format attribute or the export.format preference setting.

Setting the output size

The pageunits attribute must be set to "pixels" in order to print images; any other value will result in an error. The pagewidth and pageheight values should be set to the desired pixel dimensions, e.g. 500x500.

The scalewidth and scaleheight attributes scale the image with regard to the print area, i.e. the pagewidth/pageheight specification. If the image is scaled such that it's larger than the page and "keepaspect" is set to false, the image is clipped. If "keepaspect" is "true", the scaled image maintains the original aspect ratio and is scaled up until one dimension touches the margins.

Please see the section "Export Preferences" below the examples for a list of the export preferences.


Examples

Example 1

chips> print_image()

The contents of the current image are sent to the default printer.

Example 2

chips> print_image("plot.jpeg")

A JPEG version of the current image is created in the file plot.jpeg.

Example 3

chips> print_image("plot.png", "export.pageunits=pixels
export.pagewidth=250 export.pageheight=250")

A postscript version of the current image is created in the file plot.ps; it has been re-sized to fill a US letter page. The second call to print_image creates a PNG format of the image in the file plot.png; the size of this file is determined by the size of the image being printed, since the pagesize, pagewidth, and fittopage options are only valid for the postscript and PDF outputs.

Example 4

chips> add_image("img.fits", "id=FirstImage")
chips> add_image("img2.fits", "id=Image2")
chips> id.image = "FirstImage"
chips> id = ChipsId()
chips> print_image(id)

Two images are created; the second image is current after it is created. The id.image command sets the image value of the ChipsId structure to the first image, which is then sent directly to the user's default printer.


Export Preferences

The attributes associated with export are given in the following table. All values can be changed using the print_window() command. To change the export preference settings prepend "export." to the attribute name.

Attribute Description Options Default
bottommargin size of the bottom margin numerical value, with the units taken from the window.units or pageunits setting. 0.2
clobber Overwrite an existing file? see the Booleans section of "ahelp chipsopt" false
colorscheme indicates the color specification scheme rgb|cmyk|cmyksep|greyscale|grayscale rgb
dpi What resolution should be used when displaying images, in dots per inch. Non-negative integer 150
fittopage Fits the image to the page size; aspect ratio is controlled by the "keepaspect" attribute see the Booleans section of "ahelp chipsopt" false
fonts should the font be written to the printer, if the image is going to the printer see the Booleans section of "ahelp chipsopt" true
format (only used if not included as part of the file name) export file format ps|eps|pdf|png|jpg|jpeg ps
keepaspect Maintain aspect ratio of the image while fitting to the page? see the Booleans section of "ahelp chipsopt" true
leftmargin size of the left margin numerical value, with the units taken from the window.units or pageunits setting. 0.2
orientation page layout orientation landscape|portrait portrait
pageheight height of the saved file image (PS and PDF formats only). This value overrides the window dimensions, and the units are taken from the window.units setting unless overridden by export.pageunits numerical value 0.0
pagesize print size (PS and PDF formats only) letter|legal|executive|A3|A4|A5 letter
pageunits Units of measure of the pagesize (PS and PDF formats only) inches|cm|mm|pixels inches
pagewidth width of the saved file image (PS and PDF formats only). This value overrides the window dimensions, and the units taken from the window.units setting unless overridden by export.pageunits numerical value 0.0
printdialog if true, ChIPS will open a GUI for selecting the export option when print_window is called see the Booleans section of "ahelp chipsopt" false
printmethod This setting is to support users with ATI Gallium display drivers who see displays being flipped by print_window. In this case, change the preference to xoffscreen. One of framebuffer, xoffscreen, or none. framebuffer
rightmargin size of the right margin numerical value, with the units taken from the window.units or pageunits setting. 0.2
scaleheight Factor for scaling the height value Floating point percentage value 0.0
scalewidth Factor for scaling the width value Floating point percentage value 0.0
topmargin size of the top margin numerical value, with the units taken from the window.units or pageunits setting. 0.2

Bugs

See the bugs pages on the ChIPS website for an up-to-date listing of known bugs.

See Also

contrib
chips_helix, imextent
images
add_image, current_image, delete_image, display_image, get_image, hide_image, load_colormap, remove_image_channel, set_image, shuffle_image