XV: The Save Window, part 1/2

# The Save Window

| Damned if it doesn't look suspiciously like the xv load window! The xv save window lets you write images back to disk, presumably after you've modified them. You can write images back in many different formats, not just the original format. Warning! Images are saved as they are currently shown! (i.e. At the current size, with the current color modification, rotation, cropping, etc. applied.) The only exceptions to this rule are if you are displaying images on a 1-bit B/W display, or displaying 24-bit images on a non-24-bit display. The fact that such images have to be dithered in order to be displayed doesn't count as 'modification', and the file won't be saved 'as displayed'. As such, you can manipulate and save color images on a 1-bit display, and 24-bit images on any type of display, even if you can't really see them 'as they are'.

For the most part, the xv save window operates exactly like the xv load window. (See "The Load Window" for details.) Only the differences are listed here.

When the window is opened, it should have the filename of the currently loaded file already entered into the text entry region. If you click on a file name in the list window, this name will be cleared and replaced with the new name. Likewise, the Format and Colors selections will reflect the currently loaded image. This behavior can be annoying if you are using xv to do file format conversion, or are routinely typing the same filename (a piped command, for instance).

  The Prev Set button restores the Format and Colors choices to the settings that were used the last time a file was saved during this particular run of xv.
  Likewise, the Prev Name button restores the filename string to the value it had the last time a file was saved.

At the top of the window are a pair of pull-down menus, Format and Colors . These menus let you choose the image file format and color settings that will be used when you save the image. Normally, they display the format that the current image is already in. If you change formats, and your filename has a recognized suffix (i.e., '.gif', '.GIF', '.pbm', etc.), the suffix portion of your filename will be replaced with the new, appropriate suffix for the selected format.

You can pipe output from xv to other programs by using the xv save window. If the first character of the specified filename is '!' or '|', the rest of the filename is interpreted as a command to pipe output to, in the currently selected image format. A fine use for this feature is directly printing images to a PostScript printer by selecting 'PostScript' in the formats list, and typing something like " `| lpr` " as the filename. In this case, xv will create a temporary file, write the PostScript to that file, and cat the contents of that file to the entered command. xv will wait for the command to complete. If the command completed successfully, the xv save window will disappear. If the command was unsuccessful, the window will remain visible. In any event, the temporary file will be deleted.

  Normally, when you save an image, it will be saved at the current expansion (i.e., one screen pixel will map to one image pixel in the saved file). Sometimes, however, it's desirable to save an image at its original size. This is particularly relevant when you're viewing images larger than your screen. By default, xv will automatically shrink images so that they fit on the screen. If you save these images, you'll find that you've lost a lot of data, that maybe you wanted to keep. That's what this checkbox is here for. Note: certain operations, most notably the Smooth and Dither commands, only affect the 'displayed' image. If you choose to save an image at its normal size, these effects will not be in the saved image.
  If you have a selection rectangle drawn on the image, this control can be used. When enabled, only the contents of the selection will be saved. This can be very useful if you want to break parts of an image out into their own files, as was done extensively to put together this documentation. (i.e. I Grab'bed an xv window, such as this save window, moved the selection rectangle around so that it contained various parts of the image (such as the 'Selected Area' button to the left), and saved these parts in their own separate files, for use with Microsoft Word.)

One important note: If your selection goes 'off-screen' (beyond the boundaries of the xv image window), as can happen when you zoom-in to fine-tune the position of the selection rectangle, your selection will be cropped to the window when you save it, unless you also turn on the Normal checkbox. You can not save expanded areas of the image that are not visible in the xv image window, as such areas don't really exist (they aren't computed).

## Color Choices

At the top of the xv save window there is the Colors menu, which contains a list of possible color styles to use when saving the image.. Most file formats support different 'sub-formats' for 24-bit color, 8-bit greyscale, 1-bit B/W stippled, etc. Not all of them do. Likewise, not all 'Color' choices are available in all formats.

In general, the choices in the Colors menu do the following:

  Saves the image as currently shown with all color modifications, cropping, rotation, flipping, resizing, and smoothing. The image will be saved with all of its colors, even if you weren't able to display them all on your screen. For example, you can load a color image on a 1-bit B/W display, modify it, and write it back. The saved image will still be full color, even though all you could see on your screen was some B/W-dithered nightmare.
  Like Full Color , but saves the image in a greyscale format.
  Like Full Color , but before saving the image xv generates a 1-bit-per- pixel, black-and-white dithered version of the image, and saves that, instead.
  Saves the image as currently shown, with all color modifications, cropping, rotation, flipping, resizing, and smoothing. The image will be saved as shown on the screen, with as many or few colors as xv was able to use on the display. The major purpose of this is to allow special effects (color reduction) to be saved, in conjunction with the '-ncols' command line option. You will probably never need to use this.