# pamstretch

Updated: 2 Februrary 2019
Table Of Contents

## NAME

pamstretch - scale up a PNM or PAM image by interpolating between pixels.

## SYNOPSIS

pamstretch [-xscale=X] [-yscale=Y]
[-blackedge] [-dropedge] N [infile]

You can use the minimum unique abbreviation of the options. You can use two hyphens instead of one. You can separate an option name from its value with white space instead of an equals sign.

## DESCRIPTION

This program is part of Netpbm.

pamstretch scales up pictures by integer values, either vertically, horizontally, or both. pamstretch differs from pamscale and pamenlarge in that when it inserts the additional rows and columns, instead of making the new row or column a copy of its neighbor, pamstretch makes the new row or column an interpolation between its neighbors. In some images, this produces better looking output.

To scale up to non-integer pixel sizes, e.g. 2.5, try pamstretch-gen instead.

Options let you select alternative methods of dealing with the right/bottom edges of the picture. Since the interpolation is done between the top-left corners of the scaled-up pixels, it's not obvious what to do with the right/bottom edges. The default behaviour is to scale those up without interpolation (more precisely, the right edge is only interpolated vertically, and the bottom edge is only interpolated horizontally), but there are two other possibilities, selected by the -blackedge and -dropedge options.

In the special case that the stretch factor is 1, there is no issue with the right and bottom edges, the edges of the output are identical to the edges of the input regardless of -blackedge and -dropedge. However, before Netpbm 10.86 (March 2019), -dropedge would cause the edge to be dropped even where the stretch factor was 1.

## PARAMETERS

The N parameter is the scale factor. It is valid only if you don't specify -xscale or -yscale. In that case, pamstretch scales in both dimensions and by the scale factor N.

Before Netpbm 10.86 (March 2019), 1 was not a valid value.

## OPTIONS

-xscale=X
  This is the horizontal scale factor. If you don't specify this, but do specify a vertical scale factor, the horizontal scale factor is 1.

  This option was new in Netpbm 9.21 (December 2001).

-yscale=Y
  This is the vertical scale factor. If you don't specify this, but do specify a horizontal scale factor, the vertical scale factor is 1.

  This option was new in Netpbm 9.21 (December 2001).

-blackedge
  interpolate to black at right/bottom edges.
-dropedge
  drop one (source) pixel at right/bottom edges. This is arguably more logical than the default behaviour, but it means producing output which is a slightly odd size.

## Limitations

Usually produces fairly ugly output for PBMs. For most PBM input you'll probably want to reduce the `noise' first using something like pnmnlfilt.

## SEE ALSO

pamstretch-gen, pamenlarge, pamscale, pnmnlfilt

## AUTHOR

Russell Marks (russell.marks@ntlworld.com).

## Table Of Contents

- SYNOPSIS
- DESCRIPTION
- PARAMETERS
- OPTIONS
- LIMITATIONS
- SEE ALSO
- AUTHOR