summary refs log tree commit diff
path: root/ppmshift.html
blob: 356731b9dd909e9c2aa41657afe1c95c287453de (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD><TITLE>Ppmshift User Manual</TITLE></HEAD>
<BODY>
<H1>ppmshift</H1>
Updated: 16 November 1993
<BR>
<A HREF="#index">Table Of Contents</A>

<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>

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

<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>

<b>ppmshift</b>
<I>shift</I>
[<I>ppmfile</I>]

<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>

<p>This program is part of <a href="index.html">Netpbm</a>.

<p><b>ppmshift</b> reads a PPM image as input.  Shifts every row of
image data to the left or right by a certain amount.  The <i>shift</i>
parameter determines by how many pixels a row is to be shifted at
most.

<P>This is another one of those effects I intended to use for MPEG
tests.  Unfortunately, this program will not help me here - it creates
too random patterns to be used for animations.  Still, it might give
interesting results on still images.

<A NAME="lbAE">&nbsp;</A>
<H2>EXAMPLE</H2>

Check this out: Save your favourite model's picture from something like
alt.binaries.pictures.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:

<pre>
     #take the upper half, and leave it like it is
     pamcut -top=0 -width=800 -height=300 cs.ppm &gt;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 &gt;lower.ppm
     
     #and concatenate the two pieces
     pnmcat -topbottom upper.ppm lower.ppm &gt;newpic.ppm

</pre>

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

<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>

<A HREF="ppm.html">ppm</A>,
<A HREF="pamcut.html">pamcut</A>,
<A HREF="pamflip.html">pamflip</A>,
<A HREF="ppmdim.html">ppmdim</A>,
<A HREF="pnmcat.html">pnmcat</A>


<A NAME="lbAG">&nbsp;</A>

<H2>AUTHOR</H2>

Copyright (C) 1993 by Frank Neumann

<HR>
<A NAME="index">&nbsp;</A>
<H2>Table Of Contents</H2>
<UL>
<LI><A HREF="#lbAB">NAME</A>
<LI><A HREF="#lbAC">SYNOPSIS</A>
<LI><A HREF="#lbAD">DESCRIPTION</A>
<LI><A HREF="#lbAE">EXAMPLE</A>
<LI><A HREF="#lbAF">SEE ALSO</A>
<LI><A HREF="#lbAG">AUTHOR</A>
</UL>
</BODY>
</HTML>