# man > pamstretch(1)

> **TLDR:** Scale up a PAM image by interpolating between pixels.
>
- Scale up a PAM image by an integer factor:
  `pamstretch {{n}} {{path/to/image.pam}} > {{path/to/output.pam}}`
- Scale up a PAM image by the specified factors in the horizontal and vertical directions:
  `pamstretch {{-x|-xscale}} {{xn}} {{-y|-yscale}} {{yn}} {{path/to/image.pam}} > {{path/to/output.pam}}`

*Source: tldr-pages*

---

_Pamstretch_ _User_ [_Manual_(1)](https://www.chedong.com/phpMan.php/man/Manual/1/markdown)              General Commands Manual             _Pamstretch_ _User_ [_Manual_(1)](https://www.chedong.com/phpMan.php/man/Manual/1/markdown)

## 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**(1)](https://www.chedong.com/phpMan.php/man/Netpbm/1/markdown).

       **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**(1)](https://www.chedong.com/phpMan.php/man/pamstretch-gen/1/markdown) instead.

       Options let you select alternative methods of dealing with the right/bottom edges of the pic‐
       ture.   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 verti‐
       cally, and the bottom edge is only interpolated horizontally), but there are two other possi‐
       bilities, 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   -dropedge -dropedge 
       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

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



## OPTIONS
       In  addition  to  the options common to all programs based on libnetpbm (most notably **-quiet**,
       see ]8;;index.html#commonoptions\ Common Options]8;;\ ), **pamstretch **recognizes the following command line options:



### -xscale=_
              This is the horizontal scale factor.  If you don't specify this, but do specify a ver‐
              tical scale factor, the horizontal scale factor is 1.

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


### -yscale=_
              This is the vertical scale factor.  If you don't specify this, but do specify a  hori‐
              zontal 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  re‐
       duce the `noise' first using something like [**pnmnlfilt**(1)](https://www.chedong.com/phpMan.php/man/pnmnlfilt/1/markdown).


## SEE ALSO
       [**pamstretch-gen**(1)](https://www.chedong.com/phpMan.php/man/pamstretch-gen/1/markdown), [**pamenlarge**(1)](https://www.chedong.com/phpMan.php/man/pamenlarge/1/markdown), [**pamscale**(1)](https://www.chedong.com/phpMan.php/man/pamscale/1/markdown), [**pnmnlfilt**(1)](https://www.chedong.com/phpMan.php/man/pnmnlfilt/1/markdown)


## AUTHOR
       Russell Marks (<_russell.marks@ntlworld.com_>).

## DOCUMENT SOURCE
       This  manual  page  was  generated by the Netpbm tool 'makeman' from HTML source.  The master
       documentation is at

              **<http://netpbm.sourceforge.net/doc/pamstretch.html>**

netpbm documentation                      02 February 2019                 _Pamstretch_ _User_ [_Manual_(1)](https://www.chedong.com/phpMan.php/man/Manual/1/markdown)
