# ppmshift - shift lines of a PPM image left or right by a random a... - man - [phpMan]

> **TLDR:** Shift the lines in a PPM image by a randomized amount.
>
- Shift the lines in the input image by a randomized amount not exceeding s to the left or to the right:
  `ppmshift {{s}} {{path/to/input_file.ppm}} > {{path/to/output_file.ppm}}`

*Source: tldr-pages*

---

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

## NAME
       ppmshift - shift lines of a PPM image left or right by a random amount


## SYNOPSIS
       **ppmshift _**shift_ [_ppmfile_]


## DESCRIPTION
       This program is part of [**Netpbm**(1)](https://www.chedong.com/phpMan.php/man/Netpbm/1/markdown).

       **ppmshift  **reads a PPM image as input.  It shifts every row of image data to the left or right
       by a random amount, within a range of _shift_ pixels.  The random distribution is uniform, cen‐
       tered at zero movement.

       The randomness in the image is limited before Netpbm 10.37 (December 2006) -- if you run  the
       program twice in the same second, you may get identical output.

       This  is an effect the author intended to use for MPEG tests.  Unfortunately, this program is
       not useful for that - it creates too random patterns to be used for  animations.   Still,  it
       might give interesting results on still images.


## OPTIONS
       There  are  no  command line options defined specifically for **ppmshift**, but it recognizes the
       options common to all programs based on libnetpbm (See [ Common Options](index.html#commonoptions) .)


## EXAMPLE
       Check this out: Save your favorite model's  picture  from  something  like  alt.binaries.pic‐
       tures.supermodels  (ok,  or from any other picture source), convert it to ppm, and process it
       e.g. like this, assuming the picture is 800x600 pixels:

            #take the upper half, and leave it like it is
            pamcut -top=0 -width=800 -height=300 cs.ppm >upper.ppm

            #take the lower half, flip it upside down, dim it and distort it a little
            pamcut -top=300 -width=800 -height=300 cs.ppm | \
                pamflip -topbottom | \
                ppmdim 0.7 | \
                ppmshift 10 >lower.ppm

            #and concatenate the two pieces
            pamcat -topbottom upper.ppm lower.ppm >newpic.ppm



       The resulting picture looks like the image being reflected on a  water  surface  with  slight
       ripples.


## SEE ALSO
       [**ppm**(1)](https://www.chedong.com/phpMan.php/man/ppm/1/markdown), [**pamcut**(1)](https://www.chedong.com/phpMan.php/man/pamcut/1/markdown), [**pamflip**(1)](https://www.chedong.com/phpMan.php/man/pamflip/1/markdown), [**ppmdim**(1)](https://www.chedong.com/phpMan.php/man/ppmdim/1/markdown), [**pamcat**(1)](https://www.chedong.com/phpMan.php/man/pamcat/1/markdown)



## AUTHOR
       Copyright (C) 1993 by Frank Neumann

## 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/ppmshift.html>**

netpbm documentation                      20 November 2008                   _Ppmshift_ _User_ [_Manual_(1)](https://www.chedong.com/phpMan.php/man/Manual/1/markdown)
