diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2020-07-26 21:43:12 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2020-07-26 21:43:12 +0000 |
commit | 1a29632fcc0b7c095f116ad9a760acc80a7b0472 (patch) | |
tree | 17fec5ed1778a7b800faeb32a3efb0f3934ae98e | |
parent | fabc39e7f3bf78fbbc4e2923a0b9e53a829a9a26 (diff) | |
download | netpbm-mirror-1a29632fcc0b7c095f116ad9a760acc80a7b0472.tar.gz netpbm-mirror-1a29632fcc0b7c095f116ad9a760acc80a7b0472.tar.xz netpbm-mirror-1a29632fcc0b7c095f116ad9a760acc80a7b0472.zip |
miscellaneous update
git-svn-id: http://svn.code.sf.net/p/netpbm/code/userguide@3901 9d0c8265-081b-0410-96cb-a4ca84ce46f8
49 files changed, 2386 insertions, 2195 deletions
diff --git a/anytopnm.html b/anytopnm.html index a0b1b80f..91f601ce 100644 --- a/anytopnm.html +++ b/anytopnm.html @@ -67,9 +67,11 @@ earlier releases. <h2 id="options">OPTIONS</h2> <p>There are no command line options defined specifically -for <b>anytopnm</b>, but it recognizes the options common to all +for <b>anytopnm</b>. + +<b>anytopnm</b> does not recognize the options common to all programs based on libnetpbm (See <a href="index.html#commonoptions"> -Common Options</a>.) +Common Options</a>.) However, the <b>-version</b> option works. <h2 id="seealso">SEE ALSO</h2> diff --git a/extendedopacity.html b/extendedopacity.html index 4205cd8c..09a50858 100644 --- a/extendedopacity.html +++ b/extendedopacity.html @@ -131,7 +131,7 @@ an image by continuously changing a single parameter. The best hardware mechanisms employ a single "inner loop" to achieve a wide variety of effects. Interpolation and extrapolation of images can be a unifying approach, providing a single -function that supports many common image processing operations. +function that can do many common image processing operations. <p> Since a degenerate image is sometimes easier to calculate, extrapolation may offer a more efficient method to achieve effects such as sharpening @@ -142,7 +142,7 @@ inaccuracy. <p> These image manipulation techniques can be used in paint programs to easily implement brushes that saturate, sharpen, lighten, darken, -or modify contrast and color. The only major change needed is to support +or modify contrast and color. The only major change needed is to work with alpha values outside the range 0.0 to 1.0. <p> It is surprising and unfortunate how many graphics software packages diff --git a/hpcdtoppm.html b/hpcdtoppm.html index f28d5556..9e3dcd12 100644 --- a/hpcdtoppm.html +++ b/hpcdtoppm.html @@ -1,80 +1,79 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Hpcdtoppm User Manual</TITLE></HEAD> -<BODY> -<H1>hpcdtoppm</H1> -Updated: 7 August 2003 -<BR> - -<A HREF="#index">Table Of Contents</A> - -<H2>NAME</H2> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Hpcdtoppm User Manual</title></head> +<body> +<h1>hpcdtoppm</h1> +Updated: 07 August 2003 +<br> +<a href="#index">Table Of Contents</a> + +<h2>NAME</h2> hpcdtoppm - convert a Photo-CD image into a PBM image -<H2 id="synopsis">SYNOPSIS</H2> - -<B>hpcdtoppm</B> -<I>infile</I> -[<B>-a</B>] -[{<B>-C</B>|<B>-0</B>|<B>-Overview</B>|<B>-O</B>} <I>file opt</I>] -[<B>-c0</B>] -[<B>-c-</B>] -[<B>-c+</B>] -[<B>-crop</B>] -[<B>-d</B>] -[<B>-dpi</B> <I>f</I>] -[<B>-eps</B>] -[<B>-epsd</B>] -[<B>-epsg</B>] -[<B>-fak</B> <I>scale</I>] -[<B>-hori</B>] -[<B>-i</B>] -[<B>-l</B>] -[<B>-m</B>] -[<B>-n</B>] -[<B>-pb</B> <I>pos</I>] -[<B>-pgm</B>] -[<B>-ph</B> <I>height</I>] -[<B>-pl</B> <I>pos</I>] -[<B>-pos</B>] -[<B>-ppm</B>] -[<B>-ps</B>] -[<B>-psd</B>] -[<B>-psg</B>] -[<B>-pw</B> <I>width</I>] -[<B>-r</B>] -[<B>-rep</B>] -[<B>-S</B> <I>long short</I>] -[<B>-s</B>] -[<B>-vert</B>] -[<B>-x</B>] -[<B>-ycc</B>] -[<B>-1</B>|<B>-Base/16</B>|<B>-128x192</B>] -[<B>-2</B>|<B>-Base/4</B>|<B>-256x384</B>] -[<B>-3</B>|<B>-Base</B>|<B>-512x768</B>] -[<B>-4</B>|<B>-4Base</B>|<B>-1024x1536</B>] -[<B>-5</B>|<B>-16Base</B>|<B>-2048x3072</B>] -[<B>-6</B>|<B>-64Base</B>|<B>-4096x6144</B>] -[<I>outfile</I>] - -<H2 id="description">DESCRIPTION</H2> +<h2 id="synopsis">SYNOPSIS</h2> + +<b>hpcdtoppm</b> +<i>infile</i> +[<b>-a</b>] +[{<b>-C</b>|<b>-0</b>|<b>-Overview</b>|<b>-O</b>} <i>file opt</i>] +[<b>-c0</b>] +[<b>-c-</b>] +[<b>-c+</b>] +[<b>-crop</b>] +[<b>-d</b>] +[<b>-dpi</b> <i>f</i>] +[<b>-eps</b>] +[<b>-epsd</b>] +[<b>-epsg</b>] +[<b>-fak</b> <i>scale</i>] +[<b>-hori</b>] +[<b>-i</b>] +[<b>-l</b>] +[<b>-m</b>] +[<b>-n</b>] +[<b>-pb</b> <i>pos</i>] +[<b>-pgm</b>] +[<b>-ph</b> <i>height</i>] +[<b>-pl</b> <i>pos</i>] +[<b>-pos</b>] +[<b>-ppm</b>] +[<b>-ps</b>] +[<b>-psd</b>] +[<b>-psg</b>] +[<b>-pw</b> <i>width</i>] +[<b>-r</b>] +[<b>-rep</b>] +[<b>-S</b> <i>long short</i>] +[<b>-s</b>] +[<b>-vert</b>] +[<b>-x</b>] +[<b>-ycc</b>] +[<b>-1</b>|<b>-Base/16</b>|<b>-128x192</b>] +[<b>-2</b>|<b>-Base/4</b>|<b>-256x384</b>] +[<b>-3</b>|<b>-Base</b>|<b>-512x768</b>] +[<b>-4</b>|<b>-4Base</b>|<b>-1024x1536</b>] +[<b>-5</b>|<b>-16Base</b>|<b>-2048x3072</b>] +[<b>-6</b>|<b>-64Base</b>|<b>-4096x6144</b>] +[<i>outfile</i>] + +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. <p>This program accepts Photo-CD image or overview file data from the -specified input file, <I>infile</I> (or, if the resolution is lower -than 64Base and the file argument is specified as <B>-</B>, from +specified input file, <i>infile</i> (or, if the resolution is lower +than 64Base and the file argument is specified as <b>-</b>, from standard input), and writes either PBM Format or PostScript to the specified output file (or to standard output if no file is specified). -<P>On a standard Photo-CD, image files appear in the directory +<p>On a standard Photo-CD, image files appear in the directory <b>photo_cd/images</b>, in files with names of the form -img<I>nnnn</i>.pcd, where <I>nnnn</I> is a 4-digit-number. The -overview file appears in <B>photo_cd/overview.pcd</B>. +img<i>nnnn</i>.pcd, where <i>nnnn</i> is a 4-digit-number. The +overview file appears in <b>photo_cd/overview.pcd</b>. -<P>Photo-CD images are stored using as many as 6 different resolutions: +<p>Photo-CD images are stored using as many as 6 different resolutions: -<PRE> +<pre> Format Resolution ------ ---------- 64Base 4096x6144 (ProPhotoCD only) @@ -83,309 +82,314 @@ overview file appears in <B>photo_cd/overview.pcd</B>. Base 512x768 Base/4 256x384 Base/16 128x192 -</PRE> +</pre> -<P>The overview file employs Base/16 format. +<p>The overview file employs Base/16 format. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> Invoking <b>hpcdtoppm</b> without arguments produces a list of default values. Note that you can supply only one size option. -<DL COMPACT> -<DT><B>-a</B> +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>hpcdtoppm</b> recognizes the following +command line options: + +<dl compact> +<dt><b>-a</b> -<DD>Automatically determine image orientation (this option is +<dd>Automatically determine image orientation (this option is experimental, and does not work for overview files). -<DT>{<B>-C</B> | <B>-0</B> | <B>-Overview</B> | <B>-O</B> } <I>file opt</I> +<dt>{<b>-C</b> | <b>-0</b> | <b>-Overview</b> | <b>-O</b> } <i>file opt</i> -<DD>Extract all images from an overview file. The mandatory -<I>file</I> argument is the name of a PPM file; output files are named -<i>filennnn</I>, where <I>nnnn</I> is a 4-digit number. Overview +<dd>Extract all images from an overview file. The mandatory +<i>file</i> argument is the name of a PPM file; output files are named +<i>filennnn</i>, where <i>nnnn</i> is a 4-digit number. Overview images are extracted in their original Base/16 format. The value of -<I>opt</I> determines the orientation of the contact sheet image; +<i>opt</i> determines the orientation of the contact sheet image; recognized values are: -<DL COMPACT> -<DT><B>n</B> +<dl compact> +<dt><b>n</b> -<DD>Do not rotate the image. +<dd>Do not rotate the image. -<DT><B>l</B> +<dt><b>l</b> -<DD>Rotate the picture counter-clockwise (portrait mode). +<dd>Rotate the picture counter-clockwise (portrait mode). -<DT><B>r</B> +<dt><b>r</b> -<DD>Rotate the picture clockwise (portrait mode). +<dd>Rotate the picture clockwise (portrait mode). -</DL> +</dl> -<DT><B>-c0</B> +<dt><b>-c0</b> -<DD>Do not correct (brighten or darken) the image. +<dd>Do not correct (brighten or darken) the image. -<DT><B>-c-</B> +<dt><b>-c-</b> -<DD>Darken the image. +<dd>Darken the image. -<DT><B>-c+</B> +<dt><b>-c+</b> -<DD>Brighten the image. +<dd>Brighten the image. -<DT><B>-crop</B> +<dt><b>-crop</b> -<DD>Cut off the black frame which sometimes appears at the image +<dd>Cut off the black frame which sometimes appears at the image borders. -<DT><B>-d</B> +<dt><b>-d</b> -<DD>Show only the decompressed difference rather than the complete image +<dd>Show only the decompressed difference rather than the complete image (applicable only to 4Base and 16Base images). -<DT><B>-dpi</b> <i>res</i> +<dt><b>-dpi</b> <i>res</i> -<DD>Set the printer resolution to <I>res</I> for dithered Postscript +<dd>Set the printer resolution to <i>res</i> for dithered Postscript images. -<DT><B>-eps</B> +<dt><b>-eps</b> -<DD>Write a RGB Encapsulated Postscript color image. +<dd>Write a RGB Encapsulated Postscript color image. -<DT><B>-epsd</B> +<dt><b>-epsd</b> -<DD>Write a Floyd-Steinberg dithered image in Encapsulated Postscript. +<dd>Write a Floyd-Steinberg dithered image in Encapsulated Postscript. -<DT><B>-epsg</B> +<dt><b>-epsg</b> -<DD>Write a grayscale image in Encapsulated Postscript. +<dd>Write a grayscale image in Encapsulated Postscript. -<DT><B>-fak</b> <i>scale</i> +<dt><b>-fak</b> <i>scale</i> -<DD>Set the scaling factor for dithered PostScript images to -<I>scale</I>. +<dd>Set the scaling factor for dithered PostScript images to +<i>scale</i>. -<DT><B>-hori</B> +<dt><b>-hori</b> -<DD>Flip the image horizontally. +<dd>Flip the image horizontally. -<DT><B>-i</B> +<dt><b>-i</b> -<DD>Send information from an image file header to Standard Error. +<dd>Send information from an image file header to Standard Error. -<DT><B>-l</B> +<dt><b>-l</b> -<DD>Rotate the picture counter-clockwise (portrait mode). +<dd>Rotate the picture counter-clockwise (portrait mode). -<DT><B>-m</B> +<dt><b>-m</b> -<DD>Write messages about the phases of decoding to standard error. +<dd>Write messages about the phases of decoding to standard error. -<DT><B>-n</B> +<dt><b>-n</b> -<DD>Do not rotate the image. +<dd>Do not rotate the image. -<DT><B>-pb</b> <i>pos</i> +<dt><b>-pb</b> <i>pos</i> -<DD>Set the bottom position of the Postscript image to <I>pos</I>. +<dd>Set the bottom position of the Postscript image to <i>pos</i>. -<DT><B>-pgm</B> +<dt><b>-pgm</b> -<DD>Write a <I>pgm</I> (grayscale) image. +<dd>Write a <i>pgm</i> (grayscale) image. -<DT><B>-ph height</B> +<dt><b>-ph height</b> -<DD>Set the height of the Postscript image to <I>height</I>. +<dd>Set the height of the Postscript image to <i>height</i>. -<DT><B>-pl</b> <i>pos</i> +<dt><b>-pl</b> <i>pos</i> -<DD>Set the leftmost position of the Postscript image to <I>pos</I>. +<dd>Set the leftmost position of the Postscript image to <i>pos</i>. -<DT><B>-pos</B> +<dt><b>-pos</b> -<DD>Print the relative starting position of the data for the current +<dd>Print the relative starting position of the data for the current resolution. -<DT><B>-ppm</B> +<dt><b>-ppm</b> -<DD>Write a <I>ppm</I> RGB (color) image. +<dd>Write a <i>ppm</i> RGB (color) image. -<DT><B>-ps</B> +<dt><b>-ps</b> -<DD>Write a RGB Postscript color image. +<dd>Write a RGB Postscript color image. -<DT><B>-psd</B> +<dt><b>-psd</b> -<DD>Write a Floyd-Steinberg dithered image in Postscript. +<dd>Write a Floyd-Steinberg dithered image in Postscript. -<DT><B>-psg</B> +<dt><b>-psg</b> -<DD>Write a Postscript grayscale image. +<dd>Write a Postscript grayscale image. -<DT><B>-pw width</B> +<dt><b>-pw width</b> -<DD>Set the width of the Postscript image to <I>width</I>. +<dd>Set the width of the Postscript image to <i>width</i>. -<DT><B>-r</B> +<dt><b>-r</b> -<DD>Rotate the picture clockwise (portrait mode). +<dd>Rotate the picture clockwise (portrait mode). -<DT><B>-rep</B> +<dt><b>-rep</b> -<DD>Try to jump over reading errors in the Huffman code. +<dd>Try to jump over reading errors in the Huffman code. -<DT><B>-S</b> <i>long</i> <i>short</i> +<dt><b>-S</b> <i>long</i> <i>short</i> -<DD>Cut out a subrectangle with boundaries defined by the values: +<dd>Cut out a subrectangle with boundaries defined by the values: -<DL COMPACT> -<DT><I>long</I> +<dl compact> +<dt><i>long</i> -<DD>For the longer side of the image. +<dd>For the longer side of the image. -<DT><I>short</I> +<dt><i>short</i> -<DD>For the shorter side of the image. +<dd>For the shorter side of the image. -</DL> +</dl> -where <I>long</I> and <I>short</I> take one of two forms: +where <i>long</i> and <i>short</i> take one of two forms: -<DL COMPACT> -<DT><B>a-b</B> +<dl compact> +<dt><b>a-b</b> -<DD>Cut from position <I>a</I> to position <I>b</I>. +<dd>Cut from position <i>a</i> to position <i>b</i>. -<DT><B>a+b</B> +<dt><b>a+b</b> -<DD>Starting at offset <I>a</I>, cut a length of <I>b</I>. +<dd>Starting at offset <i>a</i>, cut a length of <i>b</i>. -</DL> +</dl> -and where <I>a</I> and <I>b</I> are either integers representing pixel +and where <i>a</i> and <i>b</i> are either integers representing pixel locations, or floating point values over the range [0.0 ... 1.0], representing the fraction of the length of a side. -<DT><B>-s</B> +<dt><b>-s</b> -<DD>Apply a simple sharpness operator to the luminosity channel. +<dd>Apply a simple sharpness operator to the luminosity channel. -<DT><B>-vert</B> +<dt><b>-vert</b> -<DD>Flip the image vertically. +<dd>Flip the image vertically. -<DT><B>-x</B> +<dt><b>-x</b> -<DD> Overskip Mode (applicable to Base/16, Base/4, Base and 4Base). +<dd> Overskip Mode (applicable to Base/16, Base/4, Base and 4Base). In Photo-CD images the luminosity channel is stored in full resolution, the two chromaticity channels are stored in half resolution only and have to be interpolated. In Overskip Mode, the chromaticity channels of the next higher resolution are taken instead of interpolating. To see the difference, generate one PPM with and -one PPM without this option. Use <B><A -HREF="pamarith.html">pamarith</A></B> to generate the difference image -of these two images. Call <B><A HREF="ppmhist.html">ppmhist</A></B> -for this difference or show it with <b>xv</b> (push the <B>HistEq</B> button +one PPM without this option. Use <b><a +href="pamarith.html">pamarith</a></b> to generate the difference image +of these two images. Call <b><a href="ppmhist.html">ppmhist</a></b> +for this difference or show it with <b>xv</b> (push the <b>HistEq</b> button in the color editor). -<DT><B>-ycc</B> +<dt><b>-ycc</b> -<DD>Write the image in a variation on PPM format in which the samples +<dd>Write the image in a variation on PPM format in which the samples are YCC instead of RGB. -<DT><B>-1</B>|<B>-Base/16</B>|<B>-128x192</B> +<dt><b>-1</b>|<b>-Base/16</b>|<b>-128x192</b> -<DD>Extract the Base/16 image. +<dd>Extract the Base/16 image. -<DT><B>-2</b>|<b>-Base/4</b>|<b>-256x384</B> +<dt><b>-2</b>|<b>-Base/4</b>|<b>-256x384</b> -<DD>Extract the Base/4 image. +<dd>Extract the Base/4 image. -<DT><B>-3</b>|<b>-Base</b>|<b>-512x768</B> +<dt><b>-3</b>|<b>-Base</b>|<b>-512x768</b> -<DD>Extract the Base image. +<dd>Extract the Base image. -<DT><B>-4</b>|<b>-4Base</b>|<b>-1024x1536</B> +<dt><b>-4</b>|<b>-4Base</b>|<b>-1024x1536</b> -<DD>Extract the 4Base image. +<dd>Extract the 4Base image. -<DT><B>-5</b>|<b>-16Base</b>|<b>-2048x3072</B> +<dt><b>-5</b>|<b>-16Base</b>|<b>-2048x3072</b> -<DD>Extract the 16Base image. +<dd>Extract the 16Base image. -<DT><B>-6</b>|<b>-64Base</b>|<b>-4096x6144</B> +<dt><b>-6</b>|<b>-64Base</b>|<b>-4096x6144</b> -<DD>Extract the 64Base image. This resolution can be extracted from +<dd>Extract the 64Base image. This resolution can be extracted from ProPhotoCD images only. The path of the 64Base extension files is derived from the path to the image file. This means that it doesn't work on stdin an the directory structure must be the very same as on the ProPhotoCD. -</DL> +</dl> -<H2 id="postscriptoutput">Postcript Output</H2> +<h2 id="postscriptoutput">POSTSCRIPT OUTPUT</h2> -<p>For Postscript output (options <B>-ps</B>, <B>-eps</B>, -<B>-psg</B>, <B>-epsg</B>, <B>-psd</B>, <B>-epsg</B>) you can define +<p>For Postscript output (options <b>-ps</b>, <b>-eps</b>, +<b>-psg</b>, <b>-epsg</b>, <b>-psd</b>, <b>-epsg</b>) you can define both the resolution and placement of the image. Both size and position are specified in points (1/72 inch). -<P>The position of the image (where the origin is assumed to be at the -lower left corner of the page) is controlled by the <B>-pl</B> and -<B>-pb</B> options (applicable at all resolutions). +<p>The position of the image (where the origin is assumed to be at the +lower left corner of the page) is controlled by the <b>-pl</b> and +<b>-pb</b> options (applicable at all resolutions). -<P>The size of color and grayscale images is changed with the -<B>-pw</B> and <B>-ph</B> options. Every image pixel is mapped onto +<p>The size of color and grayscale images is changed with the +<b>-pw</b> and <b>-ph</b> options. Every image pixel is mapped onto one Postscript pixel. -<P>There are three modes of control for dithered Postscript: +<p>There are three modes of control for dithered Postscript: -<DL COMPACT> -<DT>Image size +<dl compact> +<dt>Image size -<DD> (<B>-pw</B> and <B>-ph</B>) +<dd> (<b>-pw</b> and <b>-ph</b>) -<DT>Printer resolution +<dt>Printer resolution -<DD>(<B>-dpi</B>) +<dd>(<b>-dpi</b>) -<DT>Scaling factor +<dt>Scaling factor -<DD>(<B>-fak</B>) +<dd>(<b>-fak</b>) -</DL> +</dl> -<P>These three factors are interdependent, hence no more then two can -be specified simultaneously. Using <B>-dpi</B> and the -<B>-pw</B>/<B>-ph</B> options together often yields pleasing results. +<p>These three factors are interdependent, hence no more then two can +be specified simultaneously. Using <b>-dpi</b> and the +<b>-pw</b>/<b>-ph</b> options together often yields pleasing results. Even using the default values for these options will produce results differing from those obtained without use of the options. -<H2 id="limitations">Limitations</H2> +<h2 id="limitations">LIMITATIONS</h2> <p>The program ignores read protection. -<P>The <B>-i</B> option is not working correctly. +<p>The <b>-i</b> option is not working correctly. -<P>Available information obout the Photo-CD format is vague; this +<p>Available information obout the Photo-CD format is vague; this program was developed by trial-and-error after staring at hex-dumps. Please send bugs reports and patches to the author. -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<A HREF="pcdovtoppm.html">pcdovtoppm</A>, -<A HREF="pamarith.html">pamarith</A>, -<A HREF="ppm.html">ppm</A>, -<A HREF="ppmhist.html">ppmhist</A>, -<A HREF="pnmquant.html">pnmquant</A>, -<A HREF="ppmtopgm.html">ppmtopgm</A>, -<A HREF="ppmtorgb3.html">ppmtorgb3</A>, +<a href="pcdovtoppm.html">pcdovtoppm</a>, +<a href="pamarith.html">pamarith</a>, +<a href="ppm.html">ppm</a>, +<a href="ppmhist.html">ppmhist</a>, +<a href="pnmquant.html">pnmquant</a>, +<a href="ppmtopgm.html">ppmtopgm</a>, +<a href="ppmtorgb3.html">ppmtorgb3</a>, <b>xv</b> -<H2 id="version">VERSION</H2> +<h2 id="version">VERSION</h2> <p>The name <b>hpcdtoppm</b> stands for "Hadmut's pcdtoppm," to make it distinguishable in the event that someone else is building a @@ -394,10 +398,10 @@ similar application and naming it <b>pcdtoppm</b>. <p>This is version 0.6. -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> -Copyright (c) 1992, 1993, 1994 by Hadmut Danisch (<A -HREF="mailto:danisch@ira.uka.de">danisch@ira.uka.de</A>). +Copyright (c) 1992, 1993, 1994 by Hadmut Danisch (<a +href="mailto:danisch@ira.uka.de">danisch@ira.uka.de</a>). <p>Hadmut Danish has given permission to Bryan Henderson (August 2003) to distribute this documentation as part of Netpbm on Sourceforge and @@ -413,26 +417,26 @@ and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. -<P>The <b>hpcdtoppm</b> software itself (as opposed to this supporting +<p>The <b>hpcdtoppm</b> software itself (as opposed to this supporting documentation) is licensed by Danisch under a similar license, but with an additional restriction that a recipient may not sell the software or use it in profit-making activity. See the source code of the program for details on its license. -<P> Manual page extensively modified by R. P. C. Rodgers (<A -HREF="mailto:rodgers@nlm.nih.gov">rodgers@nlm.nih.gov</A>). - -<HR> -<H2>Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#postscriptoutput">POSTSCRIPT OUTPUT</A> -<LI><A HREF="#limitations">LIMITATIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#version">VERSION</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<p> Manual page extensively modified by R. P. C. Rodgers (<a +href="mailto:rodgers@nlm.nih.gov">rodgers@nlm.nih.gov</a>). + +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#postscriptoutput">POSTSCRIPT OUTPUT</a> +<li><a href="#limitations">LIMITATIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#version">VERSION</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/icontopbm.html b/icontopbm.html index 684e230c..e77cd875 100644 --- a/icontopbm.html +++ b/icontopbm.html @@ -1,21 +1,19 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Icontopbm User Manual</TITLE></HEAD> -<BODY> -<H1>icontopbm</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Icontopbm User Manual</title></head> +<body> +<h1>icontopbm</h1> -<A HREF="#index">Table Of Contents</A> +<h2>NAME</h2> -<H2>NAME</H2> +icontopbm - replaced by sunicontopnm -icontopbm - convert a Sun icon image to PBM +<h2 id="synopsis">SYNOPSIS</h2> -<H2 id="synopsis">SYNOPSIS</H2> +<b>icontopbm</b> +[<i>iconfile</i>] -<B>icontopbm</B> -[<I>iconfile</I>] - -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -36,9 +34,5 @@ for <b>icontopbm</b>, as long as you recognize that any change the <b>sunicontopnm</b> manual says happened in or after Netpbm 10.53 doesn't apply to <b>icontopbm</b>. -</BODY> -</HTML> - - - - +</body> +</html> diff --git a/jbigtopnm.html b/jbigtopnm.html index 98f6883a..ea7a8679 100644 --- a/jbigtopnm.html +++ b/jbigtopnm.html @@ -1,30 +1,30 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Jbigtopnm User Manual</TITLE></HEAD> -<BODY> -<H1>Jbigtopnm</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Jbigtopnm User Manual</title></head> +<body> +<h1>jbigtopnm</h1> Updated: 29 September 2018 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> jbigtopnm - JBIG to PNM image file converter -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>jbigtopnm</B> +<b>jbigtopnm</b> [<b>-xmax</b>] [<b>-ymax</b>] [<b>-binary</b>] [<b>-diagnose</b>] [<b>-plane</b>] -[<I>input-file</I> [<I>output-file</I>]] +[<i>input-file</i> [<i>output-file</i>]] <p>Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -33,100 +33,105 @@ file or standard input, decompresses it, and outputs a PBM or PGM file. If the input has one plane, or you choose just one plane of it, the output is PBM. Otherwise, the output is PGM. -<P>JBIG is a highly effective lossless compression algorithm for +<p>JBIG is a highly effective lossless compression algorithm for bi-level images (one bit per pixel), which is particularly suitable for scanned document pages. -<P>A JBIG encoded image can be stored in several resolutions in one or +<p>A JBIG encoded image can be stored in several resolutions in one or several BIEs. All resolution layers except the lowest one are stored efficiently as differences to the next lower resolution layer. You -can use options <B>-x</B> and <B>-y</B> to stop the decompression at a +can use options <b>-x</b> and <b>-y</b> to stop the decompression at a specified maximal output image size. The input file can consist of several concatenated BIEs which contain different increasing resolution layers of the same image. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> + +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>jbigtopnm</b> recognizes the following +command line options: <p>Before Netpbm 10.85 (December 2018), only single-character single-hyphen abbreviations of the options are accepted. -<DL COMPACT> +<dl compact> -<DT><B>-x</B> <I>number</I> +<dt><b>-xmax</b> <i>number</i> -<DD>Decode only up to the largest resolution layer which is still not -more than <I>number</I> pixels wide. If no such resolution layer +<dd>Decode only up to the largest resolution layer which is still not +more than <i>number</i> pixels wide. If no such resolution layer exists, then use the smallest one available. -<DT><B>-y</B><I> number</I> +<dt><b>-ymax</b><i> number</i> -<DD>Decode only up to the largest resolution layer which is still not -more than <I>number</I> pixels high. If no such resolution layer +<dd>Decode only up to the largest resolution layer which is still not +more than <i>number</i> pixels high. If no such resolution layer exists, then use the smallest one available. You can also use options -<B>-x</B> and <B>-y</B> together which selects the largest layer that +<b>-x</b> and <b>-y</b> together which selects the largest layer that satisfies both limits. -<DT><B>-b</B> +<dt><b>-binary</b> -<DD>Use binary values instead of Gray code words in order to decode +<dd>Use binary values instead of Gray code words in order to decode pixel values from multiple bitplanes. This option has effect only if the input has more than one bitplane and you don't select just one of those bitplanes. Note that the decoder has to be used in the same mode as the encoder and cannot determine from the BIE, whether Gray or binary code words were used by the encoder. -<DT><B>-d</B> +<dt><b>-diagnose</b> -<DD>Diagnose a BIE. With this option, <B>jbigtopnm</B> only prints a +<dd>Diagnose a BIE. With this option, <b>jbigtopnm</b> only prints a summary of the header information found in the input file and then exits. -<DT><B>-p</B><I> number</I> +<dt><b>-plane</b><i> number</i> -<DD>If the input contains multiple bitplanes, then extract only the +<dd>If the input contains multiple bitplanes, then extract only the specified single plane as a PBM file. The first plane has number 0. -</DL> +</dl> -<H2 id="standards">STANDARDS</H2> +<h2 id="standards">STANDARDS</h2> <p>This program implements the JBIG image coding algorithm as specified in ISO/IEC 11544:1993 and ITU-T T.82(1993). -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> <!-- jbgtopnm below is not a typo. It is not meant to be jbigtopnm --> -<p><B>jbigtopnm</B> is based on the JBIG library by Markus Kuhn, part +<p><b>jbigtopnm</b> is based on the JBIG library by Markus Kuhn, part of his <a -href="http://www.cl.cam.ac.uk/~mgk25/jbigkit/"><B>JBIG-KIT</B> -package</a>. The <B>jbgtopbm</B> program is part of the -<B>JBIG-KIT</B> package. +href="http://www.cl.cam.ac.uk/~mgk25/jbigkit/"><b>JBIG-KIT</b> +package</a>. The <b>jbgtopbm</b> program is part of the +<b>JBIG-KIT</b> package. -<P><B>jbigtopnm</B> is part of the Netpbm package of graphics tools. +<p><b>jbigtopnm</b> is part of the Netpbm package of graphics tools. -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<B><A HREF="pnm.html">pnm</A></B>, -<B><A HREF="pnmtojbig.html">pnmtojbig</A></B> +<b><a href="pnm.html">pnm</a></b>, +<b><a href="pnmtojbig.html">pnmtojbig</a></b> -<H2 id="license">LICENSE</H2> +<h2 id="license">LICENSE</h2> -If you use <B>jbigtopnm</B>, you are using various patents, +If you use <b>jbigtopnm</b>, you are using various patents, particularly on its arithmetic encoding method, and in all probability you do not have a license from the patent owners to do so. -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#standards">STANDARDS</A> -<LI><A HREF="#author">AUTHOR</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#license">LICENSE</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#standards">STANDARDS</a> +<li><a href="#author">AUTHOR</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#license">LICENSE</a> +</ul> +</body> +</html> diff --git a/jpegtopnm.html b/jpegtopnm.html index 1d489070..9262e033 100644 --- a/jpegtopnm.html +++ b/jpegtopnm.html @@ -1,39 +1,39 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Jpegtopnm User Manual</TITLE></HEAD> -<BODY> -<H1>JPEGTOPNM</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Jpegtopnm User Manual</title></head> +<body> +<h1>jpegtopnm</h1> Updated: 13 October 2002 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> jpegtopnm - convert JPEG/JFIF file to PPM or PGM image -<H2 id="synopsis">SYNOPSIS</H2> - -<B>jpegtopnm</B> -[<B>-dct</B> {<B>int</B>|<B>fast</B>|<B>float</B>}] -[<B>-nosmooth</B>] -[<B>-maxmemory</B> <I>N</I>] -[{<B>-adobe</B>|<B>-notadobe</B>}] -[<B>-comments</B>] -[<B>-dumpexif</B>] -[<B>-exif=</B><I>filespec</I>] -[<B>-multiple</B>] -[<B>-repair</B>] -[<B>-verbose</B>] -[<B>-tracelevel</B> <I>N</I>] -[<I>filename</I>] +<h2 id="synopsis">SYNOPSIS</h2> + +<b>jpegtopnm</b> +[<b>-dct</b> {<b>int</b>|<b>fast</b>|<b>float</b>}] +[<b>-nosmooth</b>] +[<b>-maxmemory</b> <i>N</i>] +[{<b>-adobe</b>|<b>-notadobe</b>}] +[<b>-comments</b>] +[<b>-dumpexif</b>] +[<b>-exif=</b><i>filespec</i>] +[<b>-multiple</b>] +[<b>-repair</b>] +[<b>-verbose</b>] +[<b>-tracelevel</b> <i>N</i>] +[<i>filename</i>] <p>Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. -<P><B>jpegtopnm</B> converts JFIF images to PPM or PGM images. +<p><b>jpegtopnm</b> converts JFIF images to PPM or PGM images. <p>By default, <b>jpegtopnm</b> expects the input stream to contain one JFIF image and produces one PGM or PPM image as output. It fails if the @@ -48,7 +48,7 @@ so is the output. don't specify <i>filename</i>, Standard Input. The output stream is Standard Output. -<p>If a JFIF input image is of the grayscale variety, <B>jpegtopnm</B> +<p>If a JFIF input image is of the grayscale variety, <b>jpegtopnm</b> generates a PGM image. Otherwise, it generates a PPM image. <p>Before Netpbm 10.11 (October 2002), <b>jpegtopnm</b> did not have @@ -62,61 +62,68 @@ something other than another JFIF image. The producers of these files expect them to work with any JFIF interpreter because most JFIF interpreters just stop reading the file after the first JFIF image. -<p><B>jpegtopnm</B> uses the Independent JPEG Group's JPEG library to -interpret the input file. See <B><A -HREF="http://www.ijg.org">http://www.ijg.org</A> </B> +<p><b>jpegtopnm</b> uses the Independent JPEG Group's JPEG library to +interpret the input file. See <b><a +href="http://www.ijg.org">http://www.ijg.org</a> </b> for information on the library. -<P>"JFIF" is the correct name for the image format commonly +<p>"JFIF" is the correct name for the image format commonly known as "JPEG." Strictly speaking, JPEG is a method of compression. The image format using JPEG compression that is by far the most common is JFIF. There is also a subformat of TIFF that uses JPEG compression. -<P>EXIF is an image format that is a subformat of JFIF (to wit, a JFIF +<p>EXIF is an image format that is a subformat of JFIF (to wit, a JFIF file that contains an EXIF header as an APP1 marker). -<B>jpegtopnm</B> handles EXIF. +<b>jpegtopnm</b> handles EXIF. -<P>JFIF files can have either 8 bits per sample or 12 bits per sample. +<p>JFIF files can have either 8 bits per sample or 12 bits per sample. The 8 bit variety is by far the most common. There are two versions of the IJG JPEG library. One reads only 8 bit files and the other reads only 12 bit files. You must link the appropriate one of these -libraries with <B>jpegtopnm</B>. Ordinarily, this means the library -is in your shared library search path when you run <B>jpegtopnm</B>. +libraries with <b>jpegtopnm</b>. Ordinarily, this means the library +is in your shared library search path when you run <b>jpegtopnm</b>. -<P><B>jpegtopnm</B> generates output with either one byte or two bytes +<p><b>jpegtopnm</b> generates output with either one byte or two bytes per sample depending on whether the JFIF input has either 8 bits or 12 -bits per sample. You can use <B>pamdepth</B> to reduce a +bits per sample. You can use <b>pamdepth</b> to reduce a two-byte-per-sample file to a one-byte-per-sample file if you need to. -<P>If the JFIF file uses the CMYK or YCCK color space, the input does +<p>If the JFIF file uses the CMYK or YCCK color space, the input does not actually contain enough information to know what color each pixel is. To know what color a pixel is, one would have to know the properties of the inks to which the color space refers. -<B>jpegtopnm</B> interprets the colors using the common transformation +<b>jpegtopnm</b> interprets the colors using the common transformation which assumes all the inks are simply subtractive and linear. -<p>See the <a href="jpegtopnm.html"><B>jpegtopnm</B> manual</a> +<p>See the <a href="jpegtopnm.html"><b>jpegtopnm</b> manual</a> for information on how images lose quality when you convert to and from JFIF. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -The options are only for advanced users: -<DL COMPACT> -<DT><B>-dct int</B> +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>jpegtopnm</b> recognizes the following +command line options: -<DD> +<p> +The options are only for advanced users. + +<dl compact> +<dt><b>-dct int</b> + +<dd> Use integer DCT method (default). -<DT><B>-dct fast</B> +<dt><b>-dct fast</b> -<DD> +<dd> Use fast integer DCT (less accurate). -<DT><B>-dct float</B> +<dt><b>-dct float</b> -<DD> +<dd> Use floating-point DCT method. The float method is very slightly more accurate than the int method, but is much slower unless your machine has very fast floating-point hardware. Also @@ -124,22 +131,22 @@ note that results of the floating-point method may vary slightly across machines, while the integer methods should give the same results everywhere. The fast integer method is much less accurate than the other two. -<DT><B>-nosmooth</B> +<dt><b>-nosmooth</b> -<DD> +<dd> Use a faster, lower-quality upsampling routine. -<DT><B>-maxmemory</B><I> N</I> +<dt><b>-maxmemory</b><i> N</i> -<DD>Set limit on the amount of memory <B>jpegtopnm</B> uses in +<dd>Set limit on the amount of memory <b>jpegtopnm</b> uses in processing large images. Value is in thousands of bytes, or millions of bytes if "M" is suffixed to the number. For example, -<B>-maxmemory 4m</B> selects 4000000 bytes. If <B>jpegtopnm</B> needs +<b>-maxmemory 4m</b> selects 4000000 bytes. If <b>jpegtopnm</b> needs more space, it uses temporary files. -<DT><B>-adobe</B> -<DT><B>-notadobe</B> +<dt><b>-adobe</b> +<dt><b>-notadobe</b> -<DD> +<dd> There are two variations on the CMYK (and likewise YCCK) color space that may be used in the JFIF input. In the normal one, a zero value for a color components indicates absence of ink. In the other, a zero value means the @@ -147,52 +154,52 @@ maximum ink coverage. The latter is used by Adobe Photoshop when it creates a bare JFIF output file (but not when it creates JFIF output as part of Encapsulated Postscript output). -<P>These options tell <B>jpegtopnm</B> which version of the CMYK or +<p>These options tell <b>jpegtopnm</b> which version of the CMYK or YCCK color space the image uses. If you specify neither, -<B>jpegtopnm</B> tries to figure it out on its own. In the present +<b>jpegtopnm</b> tries to figure it out on its own. In the present version, it doesn't try very hard at all: It just assumes the Photoshop version, since Photoshop and its emulators seem to be the main source of CMYK and YCCK images. But with experience of use, future versions might be more sophisticated. -<P>If the JFIF image does not indicate that it is CMYK or YCCK, these +<p>If the JFIF image does not indicate that it is CMYK or YCCK, these options have no effect. -<P>If you don't use the right one of these options, the symptom is +<p>If you don't use the right one of these options, the symptom is output that looks like a negative. -<DT><B>-dumpexif</B> +<dt><b>-dumpexif</b> -<DD>Print the interpreted contents of any Exif header in the input -file to the Standard Error file. Similar to the program <B>jhead</B> +<dd>Print the interpreted contents of any Exif header in the input +file to the Standard Error file. Similar to the program <b>jhead</b> (not part of the Netpbm package). <p>This option was added in Netpbm 9.19 (September 2001). -<DT><B>-exif=</B><I>filespec</I> +<dt><b>-exif=</b><i>filespec</i> -<DD>Extract the contents of the EXIF header from the input image and -write it to the file <I>filespec</I>. <I>filespec</I>=<B>-</B> means +<dd>Extract the contents of the EXIF header from the input image and +write it to the file <i>filespec</i>. <i>filespec</i>=<b>-</b> means write it to Standard Output. When you write the EXIF header to -Standard Output, <B>jpegtopnm</B> does not output the converted image +Standard Output, <b>jpegtopnm</b> does not output the converted image (which is what normally would go to Standard Output) at all. -<p><B>jpegtopnm</B> writes the contents of the EXIF header +<p><b>jpegtopnm</b> writes the contents of the EXIF header byte-for-byte, starting with the two byte length field (which length includes those two bytes). -<P>You can use this file as input to <B>pnmtojpeg</B> to insert an +<p>You can use this file as input to <b>pnmtojpeg</b> to insert an identical EXIF header into a new JFIF image. -<P>If there is no EXIF header, <B>jpegtopnm</B> writes two bytes of +<p>If there is no EXIF header, <b>jpegtopnm</b> writes two bytes of binary zero and nothing else. -<P>An EXIF header takes the form of a JFIF APP1 marker. Only the +<p>An EXIF header takes the form of a JFIF APP1 marker. Only the first such marker within the JFIF header counts. <p>This option was added in Netpbm 9.19 (September 2001). -<DT><B>-multiple</B> +<dt><b>-multiple</b> <dd>Read multiple JFIF images sequentially from the input stream. See <a href="#description">Description section</a> for details. @@ -224,129 +231,128 @@ contents at the top, but the bottom is padded with gray. <b>jpegtopnm</b> always fails in the cases in question. -<DT><B>-comments</B> +<dt><b>-comments</b> -<DD> +<dd> Print any comments in the input file to the Standard Error file. -<DT><B>-verbose</B> +<dt><b>-verbose</b> -<DD> +<dd> Print details about the conversion to the Standard Error file. -<DT><B>-tracelevel</B><I> n</I> +<dt><b>-tracelevel</b><i> n</i> -<DD>Turn on the JPEG library's trace messages to the Standard Error -file. A higher value of <I>n</I> gets more trace information. -<B>-verbose</B> implies a trace level of at least 1. +<dd>Turn on the JPEG library's trace messages to the Standard Error +file. A higher value of <i>n</i> gets more trace information. +<b>-verbose</b> implies a trace level of at least 1. -</DL> +</dl> -<H2 id="examples">EXAMPLES</H2> +<h2 id="examples">EXAMPLES</h2> -<P>This example converts the color JFIF file foo.jpg to a PPM file +<p>This example converts the color JFIF file foo.jpg to a PPM file named foo.ppm: -<PRE> +<pre> jpegtopnm foo.jpg >foo.ppm -</PRE> +</pre> -<H2 id="hints">HINTS</H2> +<h2 id="hints">HINTS</h2> -You can use <B>pnmquant</B> to color quantize the result, i.e. to +You can use <b>pnmquant</b> to color quantize the result, i.e. to reduce the number of distinct colors in the image. In fact, you may have to if you want to convert the PPM file to certain other formats. -<B>ppmdither</B> Does a more sophisticated quantization. +<b>ppmdither</b> Does a more sophisticated quantization. -<p>Use <B>pamscale</B> to change the dimensions of the resulting +<p>Use <b>pamscale</b> to change the dimensions of the resulting image. -<P>Use <B>ppmtopgm </B> to convert a color JFIF file to a grayscale +<p>Use <b>ppmtopgm </b> to convert a color JFIF file to a grayscale PGM file. -<P>You can easily use these converters together. E.g.: +<p>You can easily use these converters together. E.g.: -<PRE> +<pre> jpegtopnm foo.jpg | ppmtopgm | pamscale .25 >foo.pgm -</PRE> +</pre> -<P><B>-dct fast</B> and/or <B>-nosmooth</B> gain speed at a small +<p><b>-dct fast</b> and/or <b>-nosmooth</b> gain speed at a small sacrifice in quality. -<P>If you are fortunate enough to have very fast floating point -hardware, <B>-dct float</B> may be even faster than <B>-dct fast</B>. -But on most machines <B>-dct float</B> is slower than <B>-dct int</B>; +<p>If you are fortunate enough to have very fast floating point +hardware, <b>-dct float</b> may be even faster than <b>-dct fast</b>. +But on most machines <b>-dct float</b> is slower than <b>-dct int</b>; in this case it is not worth using, because its theoretical accuracy advantage is too small to be significant in practice. -<P>Another program, <B>djpeg</B>, is similar. <B>djpeg</B> is +<p>Another program, <b>djpeg</b>, is similar. <b>djpeg</b> is maintained by the Independent JPEG Group and packaged with the JPEG -library which <B>jpegtopnm</B> uses for all its JPEG work. Because of +library which <b>jpegtopnm</b> uses for all its JPEG work. Because of that, you may expect it to exploit more current JPEG features. Also, -since you have to have the library to run <B>jpegtopnm</B>, but not -vice versa, <B>cjpeg</B> may be more commonly available. +since you have to have the library to run <b>jpegtopnm</b>, but not +vice versa, <b>cjpeg</b> may be more commonly available. -<P>On the other hand, <B>djpeg</B> does not use the NetPBM libraries +<p>On the other hand, <b>djpeg</b> does not use the NetPBM libraries to generate its output, as all the NetPBM tools such as -<B>jpegtopnm</B> do. This means it is less likely to be consistent +<b>jpegtopnm</b> do. This means it is less likely to be consistent with all the other programs that deal with the NetPBM formats. Also, -the command syntax of <B>jpegtopnm</B> is consistent with that of the -other Netpbm tools, unlike <B>djpeg</B>. +the command syntax of <b>jpegtopnm</b> is consistent with that of the +other Netpbm tools, unlike <b>djpeg</b>. -<H2 id="environment">ENVIRONMENT</H2> +<h2 id="environment">ENVIRONMENT</h2> -<DL COMPACT> -<DT><B>JPEGMEM</B> +<dl compact> +<dt><b>JPEGMEM</b> -<DD>If this environment variable is set, its value is the default +<dd>If this environment variable is set, its value is the default memory limit. The value is specified as described for the -<B>-maxmemory</B> option. An explicit <B>-maxmemory </B> option -overrides any <B>JPEGMEM</B>. +<b>-maxmemory</b> option. An explicit <b>-maxmemory </b> option +overrides any <b>JPEGMEM</b>. -</DL> +</dl> -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> <p> -<B><A HREF="ppm.html">ppm</A></B>, -<B><A HREF="pgm.html">pgm</A></B>, -<B><A HREF="pnmtojpeg.html">pnmtojpeg</A></B>, -<B><A HREF="pnmquant.html">pnmquant</A></B>, -<B><A HREF="pamscale.html">pamscale</A></B>, -<B><A HREF="ppmtopgm.html">ppmtopgm</A></B>, -<B><A HREF="ppmdither.html">ppmdither</A></B>, -<B><A HREF="pamdepth.html">pamdepth</A></B>, +<b><a href="ppm.html">ppm</a></b>, +<b><a href="pgm.html">pgm</a></b>, +<b><a href="pnmtojpeg.html">pnmtojpeg</a></b>, +<b><a href="pnmquant.html">pnmquant</a></b>, +<b><a href="pamscale.html">pamscale</a></b>, +<b><a href="ppmtopgm.html">ppmtopgm</a></b>, +<b><a href="ppmdither.html">ppmdither</a></b>, +<b><a href="pamdepth.html">pamdepth</a></b>, <p> -<B>djpeg</B> man page, -<B>cjpeg</B> man page, -<B>jpegtran</B> man page, -<B>rdjpgcom</B> man page, -<B>wrjpgcom</B> man page, -<B>jhead</B> man page +<b>djpeg</b> man page, +<b>cjpeg</b> man page, +<b>jpegtran</b> man page, +<b>rdjpgcom</b> man page, +<b>wrjpgcom</b> man page, +<b>jhead</b> man page <p>Wallace, Gregory K. "The JPEG Still Picture Compression Standard", Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> -<p><B>jpegtopnm</B> and this manual were derived in large part from -<B>djpeg</B>, by the Independent JPEG Group. The program is otherwise +<p><b>jpegtopnm</b> and this manual were derived in large part from +<b>djpeg</b>, by the Independent JPEG Group. The program is otherwise by Bryan Henderson on March 19, 2000. -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#examples">EXAMPLES</A> -<LI><A HREF="#hints">HINTS</A> -<LI><A HREF="#environment">ENVIRONMENT</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#limitations">LIMITATIONS</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#examples">EXAMPLES</a> +<li><a href="#hints">HINTS</a> +<li><a href="#environment">ENVIRONMENT</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/mrf.html b/mrf.html index f0f0e531..7415980e 100644 --- a/mrf.html +++ b/mrf.html @@ -12,7 +12,7 @@ MRF - monochrome recursive format (compressed bitmaps) <h2 id="description">DESCRIPTION</h2> -<p>This document describes the MRF format supported by +<p>This document describes the MRF format recognized by <a href="index.html">Netpbm</a>. <p>MRF is a compressed format for bilevel (1-bit mono) images. It diff --git a/pam.html b/pam.html index 0078d4f0..a45846e4 100644 --- a/pam.html +++ b/pam.html @@ -1,34 +1,34 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML> -<HEAD> -<TITLE>PAM format specification</TITLE> -<META NAME="manual_section" CONTENT="5"> -</HEAD> -<BODY> -<A HREF="#index">Table Of Contents</A> - -<H1>pam</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html> +<head> +<title>PAM format specification</title> +<meta name="manual_section" content="5"> +</head> +<body> + +<h1>pam</h1> Updated: 27 November 2013 -<BR> +<br> +<a href="#index">Table Of Contents</a> <?makeman .SH NAME ?> <?makeman pam - Netpbm common 2-dimensional bitmap format ?> -<H2 id="general">GENERAL</H2> +<h2 id="general">GENERAL</h2> <p>The PAM image format is a lowest common denominator 2 dimensional map format. -<P>It is designed to be used for any of myriad kinds of graphics, but can +<p>It is designed to be used for any of myriad kinds of graphics, but can theoretically be used for any kind of data that is arranged as a two dimensional rectangular array. Actually, from another perspective it can be seen as a format for data arranged as a three dimensional array. -<P>The name "PAM" is an acronym derived from "Portable +<p>The name "PAM" is an acronym derived from "Portable Arbitrary Map." This derivation makes more sense if you consider it in the context of the other Netpbm format names: PBM, PGM, and PPM. -<P>This format does not define the meaning of the data at any particular +<p>This format does not define the meaning of the data at any particular point in the array. It could be red, green, and blue light intensities such that the array represents a visual image, or it could be the same red, green, and blue components plus a transparency @@ -36,7 +36,7 @@ component, or it could contain annual rainfalls for places on the surface of the Earth. Any process that uses the PAM format must further define the format to specify the meanings of the data. -<P>A PAM image describes a two dimensional grid of tuples. The tuples are +<p>A PAM image describes a two dimensional grid of tuples. The tuples are arranged in rows and columns. The width of the image is the number of columns. The height of the image is the number of rows. All rows are the same width and all columns are the same height. The tuples may have any @@ -48,7 +48,7 @@ maxval is the same for every sample in the image. The two dimensional array of all the Nth samples of each tuple is called the Nth plane or Nth channel of the image. -<P>Though the basic format does not assign any meaning to the tuple values, it +<p>Though the basic format does not assign any meaning to the tuple values, it does include an optional string that describes that meaning. The contents of this string, called the tuple type, are arbitrary from the point of view of the basic PAM format, but users of the format may assign @@ -56,23 +56,23 @@ meaning to it by convention so they can identify their particular implementations of the PAM format. Some tuple types are defined as official subformats of PAM. See <a href="#tupletype">Defined Tuple Types</a>. -<H2 id="format_universe">The Confusing Universe of Netpbm Formats</H2> +<h2 id="format_universe">The Confusing Universe of Netpbm Formats</h2> -<P>It is easy to get confused about the relationship between the PAM +<p>It is easy to get confused about the relationship between the PAM format and PBM, PGM, PPM, and PNM. Here is a little enlightenment: -<P>"PNM" is not really a format. It is a shorthand for the PBM, PGM, +<p>"PNM" is not really a format. It is a shorthand for the PBM, PGM, and PPM formats collectively. It is also the name of a group of library functions that can each handle all three of those formats. -<P>"PAM" is in fact a fourth format. But it is so general +<p>"PAM" is in fact a fourth format. But it is so general that you can represent the same information in a PAM image as you can in a PBM, PGM, or PPM image. And in fact a program that is designed to read PBM, PGM, or PPM and does so with a recent version of the Netpbm library will read an equivalent PAM image just fine and the program will never know the difference. -<P>To confuse things more, there is a collection of library routines +<p>To confuse things more, there is a collection of library routines called the "pam" functions that read and write the PAM format, but also read and write the PBM, PGM, and PPM formats. They do this because the latter formats are much older and more popular, so @@ -80,21 +80,21 @@ even a new program must work with them. Having the library handle all the formats makes it convenient to write programs that use the newer PAM format as well. -<H2 id="layout">THE LAYOUT</H2> +<h2 id="layout">THE LAYOUT</h2> -<P>A convenient way to read and write the PAM format accurately is via the +<p>A convenient way to read and write the PAM format accurately is via the <a href="libnetpbm.html">libnetpbm</a> C subroutine library. -<P>A PAM file consists of a sequence of one or more PAM images. There are +<p>A PAM file consists of a sequence of one or more PAM images. There are no data, delimiters, or padding before, after, or between images. -<P> +<p> Each PAM image consists of a header followed immediately by a raster. -<P> +<p> Here is an example header: <pre> -<tt> +<span style="font-family: monospace"> P7 WIDTH 227 HEIGHT 149 @@ -102,87 +102,87 @@ DEPTH 3 MAXVAL 255 TUPLTYPE RGB ENDHDR -</tt> +</span> </pre> -<P>The header begins with the ASCII characters "P7" followed +<p>The header begins with the ASCII characters "P7" followed by newline. This is the magic number. -<P>Note: <b>xv</b> thumbnail images also start with the "P7" magic number. +<p>Note: <b>xv</b> thumbnail images also start with the "P7" magic number. (This and PAM were independent extensions to the Netpbm formats). The rest of the format makes it easy to distinguish PAM from that format, though). -<P>The header continues with an arbitrary number of lines of ASCII +<p>The header continues with an arbitrary number of lines of ASCII text. Each line ends with and is delimited by a newline character. -<P>Each header line consists of zero or more whitespace-delimited +<p>Each header line consists of zero or more whitespace-delimited tokens or begins with "#". If it begins with "#" it is a comment and the rest of this specification does not apply to it. -<P>A header line which has zero tokens is valid but has no meaning. +<p>A header line which has zero tokens is valid but has no meaning. -<P>The type of header line is identified by its first token, which is +<p>The type of header line is identified by its first token, which is 8 characters or less: -<DL COMPACT> -<DT><B>ENDHDR </B> +<dl compact> +<dt><b>ENDHDR </b> -<DD>This is the last line in the header. The header must contain +<dd>This is the last line in the header. The header must contain exactly one of these header lines. -<DT><B>HEIGHT </B> +<dt><b>HEIGHT </b> -<DD>The second token is a decimal number representing the height +<dd>The second token is a decimal number representing the height of the image (number of rows). The header must contain exactly one of these header lines. -<DT><B>WIDTH</B> +<dt><b>WIDTH</b> -<DD>The second token is a decimal number representing the width of the +<dd>The second token is a decimal number representing the width of the image (number of columns). The header must contain exactly one of these header lines. -<DT><B>DEPTH</B> +<dt><b>DEPTH</b> -<DD>The second token is a decimal number representing the depth of the +<dd>The second token is a decimal number representing the depth of the image (number of planes or channels). The header must contain exactly one of these header lines. -<DT><B>MAXVAL</B> +<dt><b>MAXVAL</b> -<DD>The second token is a decimal number representing the maxval of the image. +<dd>The second token is a decimal number representing the maxval of the image. The header must contain exactly one of these header lines. -<DT><B>TUPLTYPE</B> +<dt><b>TUPLTYPE</b> -<DD>The header may contain any number of these header lines, including +<dd>The header may contain any number of these header lines, including zero. The rest of the line is part of the tuple type. The rest of the line is not tokenized, but the tuple type does not include any -white space immediately following <B>TUPLTYPE </B> or at the very end +white space immediately following <b>TUPLTYPE </b> or at the very end of the line. It does not include a newline. There must be something other than white space after the <b>TUPLTYPE</b> token. -<p>If there are multiple <B>TUPLTYPE</B> header lines, the tuple type +<p>If there are multiple <b>TUPLTYPE</b> header lines, the tuple type is the concatenation of the values from each of them, separated by a single blank, in the order in which they appear in the header. If -there are no <B>TUPLTYPE</B> header lines the tuple type is the null +there are no <b>TUPLTYPE</b> header lines the tuple type is the null string. -</DL> +</dl> -<P> +<p> The raster consists of each row of the image, in order from top to bottom, consecutive with no delimiter of any kind between, before, or after, rows. -<P> +<p> Each row consists of every tuple in the row, in order from left to right, consecutive with no delimiter of any kind between, before, or after, tuples. -<P> +<p> Each tuple consists of every sample in the tuple, in order, consecutive with no delimiter of any kind between, before, or after, samples. -<P> +<p> Each sample consists of an unsigned integer in pure binary format, with the most significant byte first. The number of bytes is the minimum number of bytes required to represent the maxval of the image. @@ -190,20 +190,20 @@ minimum number of bytes required to represent the maxval of the image. <p>The character referred to as "newline" herein is the character known in ASCII as Line Feed or LF. -<H2 id="limitations">LIMITATIONS</H2> +<h2 id="limitations">LIMITATIONS</h2> <p>Height, width, depth, and maxval are at least 1. <p>Height, width, and depth have no defined maximum, but processors and generators of images usually have their own limitations. -<P>The maxval of an image is never greater than 65535. (The reason it is +<p>The maxval of an image is never greater than 65535. (The reason it is limited is to make it easier to build an image processor, in which intermediate arithmetic values often have to fit within 31 or 32 bits). There was no specified limitation before October, 2005, but essentially all implementations have always observed it. -<H2 id="tupletype">DEFINED TUPLE TYPES</h2> +<h2 id="tupletype">DEFINED TUPLE TYPES</h2> <p>Some tuple types are defined in this specification to specify official subformats of PAM for especially popular applications of the @@ -225,34 +225,34 @@ separately validate that the depth is consistent with the tuple type. Also, it is good practice to accept a depth that is too great and just ignore the higher numbered planes. -<H3 id="visual">PAM Used For Visual Images</H3> +<h3 id="visual">PAM Used For Visual Images</h3> -<P>A common use of PAM images is to represent visual images such +<p>A common use of PAM images is to represent visual images such as are typically represented by images in the older and more concrete PBM, PGM, and PPM formats. <h4>Black And White</h4> -<P>A black and white image, such as would alternatively be represented by a +<p>A black and white image, such as would alternatively be represented by a PBM image, has a tuple type of "BLACKANDWHITE". Such a PAM image has a depth of 1 and maxval 1 where the one sample in each tuple is 0 to represent a black pixel and 1 to represent a white one. The maxval, height, width, and order of tuples in the raster bear the obvious relationship to those of the equivalent PGM image. -<P>Note that in the PBM format, a sample value of zero means white, but in +<p>Note that in the PBM format, a sample value of zero means white, but in PAM, zero means black. <h4>Grayscale</h4> -<P>A grayscale image, such as would alternatively be represented by a PGM +<p>A grayscale image, such as would alternatively be represented by a PGM image, has a tuple type of "GRAYSCALE". Such a PAM image has a depth of 1. The maxval, height, width, and raster bear the obvious relationship to those of the equivalent PGM image. <h4>Color</h4> -<P>A color image, such as would alternatively be represented by a PPM image, +<p>A color image, such as would alternatively be represented by a PPM image, has a tuple type of "RGB". Such a PAM image has a depth of 3. The maxval, height, width, and raster bear the obvious relationship to those of the PPM image. The first plane represents red, the second green, and the third blue. @@ -292,8 +292,9 @@ foreground color samples. <p>No Internet Media Type (aka MIME type, content type) for PBM has been registered with IANA, but the unofficial value -<tt>image/x-portable-arbitrarymap</tt> is assigned by this specification, to -be consistent with conventional values for the older Netpbm formats. +<span style="font-family: monospace">image/x-portable-arbitrarymap</span> is +assigned by this specification, to be consistent with conventional values for +the older Netpbm formats. <h2 id="filename">FILE NAME</h2> @@ -301,36 +302,36 @@ be consistent with conventional values for the older Netpbm formats. But this is not required. -<H2 id="seealso">SEE ALSO</H2> - -<B><A HREF="index.html">Netpbm</A></B>, -<B><A HREF="pbm.html">pbm</A></B>, -<B><A HREF="pgm.html">pgm</A></B>, -<B><A HREF="ppm.html">ppm</A></B>, -<B><A HREF="pnm.html">pnm</A></B>, -<B><A HREF="libnetpbm.html">libnetpbm</A></B> - - -<HR> -<H2 id="contents">Table Of Contents</H2> -<UL> - <LI><A HREF="#general">GENERAL</A> - <LI><A HREF="#layout">THE LAYOUT</A> - <LI><A HREF="#limitations">LIMITATIONS</A> - <LI><A HREF="#format_universe">The Confusing Universe of Netpbm Formats</A> - <LI><A HREF="#tupletype">DEFINED TUPLE TYPES</A> - <UL> - <LI><A HREF="#visual">PAM Used For Visual Images</A> - <UL> - <LI>Black And White - <LI>Grayscale - <LI>Color - </UL> - </UL> - <LI><A HREF="#internetmediatype">INTERNET MEDIA TYPE</A> - <LI><A HREF="#filename">FILE NAME</A> - <LI><A HREF="#seealso">SEE ALSO</A> -</UL> - -</BODY> -</HTML> +<h2 id="seealso">SEE ALSO</h2> + +<b><a href="index.html">Netpbm</a></b>, +<b><a href="pbm.html">pbm</a></b>, +<b><a href="pgm.html">pgm</a></b>, +<b><a href="ppm.html">ppm</a></b>, +<b><a href="pnm.html">pnm</a></b>, +<b><a href="libnetpbm.html">libnetpbm</a></b> + + +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#general">GENERAL</a> +<li><a href="#format_universe">The Confusing Universe of Netpbm Formats</a> +<li><a href="#layout">THE LAYOUT</a> +<li><a href="#limitations">LIMITATIONS</a> +<li><a href="#tupletype">DEFINED TUPLE TYPES</a> + <ul> + <li><a href="#visual">PAM Used For Visual Images</a> + <ul> + <li>Black And White + <li>Grayscale + <li>Color + </ul> + </ul> +<li><a href="#internetmediatype">INTERNET MEDIA TYPE</a> +<li><a href="#filename">FILE NAME</a> +<li><a href="#seealso">SEE ALSO</a> +</ul> + +</body> +</html> diff --git a/pamarith.html b/pamarith.html index 6ef9c639..e42af51d 100644 --- a/pamarith.html +++ b/pamarith.html @@ -1,34 +1,33 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML> -<HEAD><TITLE>Pamarith User Manual</TITLE></HEAD> -<BODY> -<H1>pamarith</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamarith User Manual</title></head> +<body> +<h1>pamarith</h1> Updated: 03 January 2015 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pamarith - perform arithmetic on two Netpbm images -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pamarith</B> -<B>-add</B> | <B>-subtract</B> | <B>-multiply</B> | <b>-divide</b> | -<B>-difference</B> | -<B>-minimum</B> | <B>-maximum</B> | <B>-mean</B> | <B>-compare</B> | -<B>-and</B> | <B>-or</B> | <B>-nand</B> | <B>-nor</B> | <B>-xor</B> | -<B>-shiftleft</B> | <B>-shiftright</B> -<I>pamfile1</I> <I>pamfile2</I> +<b>pamarith</b> +<b>-add</b> | <b>-subtract</b> | <b>-multiply</b> | <b>-divide</b> | +<b>-difference</b> | +<b>-minimum</b> | <b>-maximum</b> | <b>-mean</b> | <b>-compare</b> | +<b>-and</b> | <b>-or</b> | <b>-nand</b> | <b>-nor</b> | <b>-xor</b> | +<b>-shiftleft</b> | <b>-shiftright</b> +<i>pamfile1</i> <i>pamfile2</i> -<P>All options can be abbreviated to their shortest unique prefix. +<p>All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. -<P><b>pamarith</b> reads two PBM, PGM, PPM, or PAM images as input. +<p><b>pamarith</b> reads two PBM, PGM, PPM, or PAM images as input. It performs the specified binary arithmetic operation on their sample values and produces an output of a format which is the more general of the two input formats. The two input images must be of the same width @@ -36,9 +35,9 @@ and height. The arithmetic is performed on each pair of identically located tuples to generate the identically located tuple of the output. -<P>For the purpose of the calculation, it assumes any PBM, PGM, or PPM +<p>For the purpose of the calculation, it assumes any PBM, PGM, or PPM input image is the equivalent PAM image of tuple type -<B>BLACKANDWHITE</B>, <B>GRAYSCALE</B>, or <B>RGB</B>, respectively, +<b>BLACKANDWHITE</b>, <b>GRAYSCALE</b>, or <b>RGB</b>, respectively, and if it produces a PBM, PGM, or PPM output, produces the equivalent of the PAM image which is the result of the calculation. @@ -49,7 +48,7 @@ argument image; the second <i>pamfile</i> argument identifies the <p>If the output is PAM, the tuple type is the same as the tuple type of the left input image. -<P><b>pamarith</b> performs the arithmetic on each pair of identically +<p><b>pamarith</b> performs the arithmetic on each pair of identically located tuples in the two input images. <p>The arithmetic operation is in all cases fundamentally a function from two @@ -86,10 +85,10 @@ corresponds to "full intensity."), and a sample value divided by the maxval gives the fraction. <p>For <b>pamarith</b>, this interpretation applies to the regular -arithmetic functions: <B>-add</B>, <B>-subtract</B>, <B>-multiply</B>, +arithmetic functions: <b>-add</b>, <b>-subtract</b>, <b>-multiply</b>, <b>-divide</b>, -<B>-difference</B>, <B>-minimum</B>, <B>-maximum</B>, <B>-mean</B>, -and <B>-compare</B>. For those, you should think of the arguments and +<b>-difference</b>, <b>-minimum</b>, <b>-maximum</b>, <b>-mean</b>, +and <b>-compare</b>. For those, you should think of the arguments and result as numbers in the range [0,1). For example, if the maxval of the left argument image is 100 and the maxval of the right argument image is 200 and the maxval of the output image is 200, and the left @@ -97,7 +96,7 @@ sample value in an <b>-add</b> calculation is 50 and the right sample is 60, the actual calculation is 50/100 + 60/200 = 160/200, and the output sample value is 160. -<P>For these functions, <b>pamarith</b> makes the output image's +<p>For these functions, <b>pamarith</b> makes the output image's maxval the maximum of the two input maxvals, except with <b>-compare</b>, where <b>pamarith</b> uses an output maxval of 2. (Before Netpbm 10.14 (February 2003), there was no exception for @@ -123,10 +122,10 @@ arithmetic on the fractions 5/255 and 10/255. It multiplies those together and then rescales to the output maxval, giving a sample value in the output PAM of 50/255 rounded to the nearest integer: 0. -<P>With the bit string operations, the maxval has a whole different -meaning. The operations in question are: <B>-and</B>, <B>-or</B>, -<B>-nand</B>, <B>-nor</B>, <B>-xor</B>, and <B>-shiftleft</B>, -<B>-shiftright</B>. +<p>With the bit string operations, the maxval has a whole different +meaning. The operations in question are: <b>-and</b>, <b>-or</b>, +<b>-nand</b>, <b>-nor</b>, <b>-xor</b>, and <b>-shiftleft</b>, +<b>-shiftright</b>. <p>With these, each sample value in one or both input images, and in the output image, represents a bit string, not a number. The maxval @@ -144,30 +143,62 @@ interpretation of the samples. The sample value is the actual shift count. But it's still required that no sample value exceed the maxval. -<h3 id="operations">The Operations</h3> -<p>Most of the operations are obvious from the option name. The following -paragraphs cover those that aren't. +<h2 id="note">NOTE: UNARY FUNCTIONS</h2> -<P><B>-subtract</B> subtracts a value in the right input image from a -value in the left input image. +<p><b>pamarith</b> applies only binary functions. If you want to apply a +unary function, e.g. "halve", to a single image, use <b>pamfunc</b>. -<P><B>-difference</B> calculates the absolute value of -the difference. -<p><b>-multiply</b> does an ordinary arithmetic multiplication, but -tends to produce nonobvious results because of the way <b>pamarith</b> -interprets sample values. See <a href="#maxval">Maxval</a>. +<h2 id="options">OPTIONS</h2> -<P><b>-divide</b> divides a value in the left input image by the value -in the right input image. But like <b>-multiply</b>, it tends to -produce nonobvious results. Note that <b>pamarith</b> clipping -behavior makes this of little use when the left argument (dividend) is -greater than the right argument (divisor) -- the result in that case -is always the maxval. If the divisor is 0, the result is the maxval. -This option was new in Netpbm 10.30 (October 2005). +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pamarith</b> recognizes the following +command line options: -<P><B>-compare</B> produces the value <b>0</b> when the value in the +<h3 id="function">The Function</h3> + +<p>These options select the function that <b>pamarith</b> applies. + +<p>You must specify one of these, and cannot specify more than one. + +<dl compact> + +<dt><b>-add</b> +<dd>Adds the two values. If the result is larger than maxval, it is +clipped. + +<dt><b>-subtract</b> +<dd>Subtracts a value in the right input image from a value in the left input +image. + +<dt><b>-minimum</b> +<dd>Chooses the smaller value of the two. + +<dt><b>-maximum</b> +<dd>Chooses the larger value of the two. + +<dt><b>-difference</b> +<dd>Calculates the absolute value of the difference. + +<dt><b>-multiply</b> +<dd>Does an ordinary arithmetic multiplication, but tends to produce +nonobvious results because of the way <b>pamarith</b> interprets +sample values. See <a href="#maxval">Maxval</a>. + +<dt><b>-divide</b> +<dd>Divides a value in the left input image by the value in the right +input image. But like <b>-multiply</b>, it tends to produce nonobvious +results. Note that <b>pamarith</b> clipping behavior makes this of +little use when the left argument (dividend) is greater than the right +argument (divisor) -- the result in that case is always the maxval. +If the divisor is 0, the result is the maxval. + +<p><b>-divide</b> was new in Netpbm 10.30 (October 2005). + +<dt><b>-compare</b> +<dd>Produces the value <b>0</b> when the value in the left input image is less than the value in the right input image, <b>1</b> when the values are equal, and <b>2</b> when the left is greater than the right. @@ -179,44 +210,41 @@ say A is greater than B if A is less than B. <p><b>-compare</b> was new in Netpbm 10.13 (December 2002). -<p><b>-and</b>, <b>-nand</b>, <b>-or</b>, <b>-nor</b>, and <b>-xor</b> -consider the input and output images to contain bit strings; they -compute bitwise logic operations. Note that if the maxval is 1, you -can also look at these as logic operations on boolean input values. +<dt><b>-and</b>, <b>-nand</b>, <b>-or</b>, <b>-nor</b>, <b>-xor</b> +<dd>These consider the input and output images to contain bit strings; +they compute bitwise logic operations. Note that if the maxval is 1, +you can also look at these as logic operations on boolean input values. See section <a href="#maxval">Maxval</a> for the special meaning of maxval with respect to bit string operations such as these. -<p><b>-shiftleft</b> and <b>-shiftright</b> consider the left input -image and output image to contain bit strings. They compute a bit -shift operation, with bits falling off the left or right end and -zeroes shifting in, as opposed to bits off one end to the other. The -right input image sample value is the number of bit positions to -shift. +<dt><b>-shiftleft</b>, <b>-shiftright</b> +<dd>These consider the left input image and output image to contain +bit strings. They compute a bit shift operation, with bits falling +off the left or right end and zeroes shifting in, as opposed to bits +off one end to the other. The right input image sample value is the +number of bit positions to shift. <p>Note that the maxval (see <a href="#maxval">Maxval</a>) determines the width of the frame within which you are shifting. -<h3 id="notes">Notes</h3> - -<P>If you want to apply a unary function, e.g. "halve", to a single -image, use <b>pamfunc</b>. +</dl> -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<A HREF="pamfunc.html"><b>pamfunc</b></A>, -<A HREF="pamsummcol.html"><b>pamsummcol</b></A>, -<A HREF="pamsumm.html"><b>pamsumm</b></A>, -<A HREF="pnminvert.html"><b>pnminvert</b></A>, -<A HREF="pambrighten.html"><b>pambrighten</b></A>, -<A HREF="ppmdim.html"><b>ppmdim</b></A>, -<A HREF="pnmconvol.html"><b>pnmconvol</b></A>, -<A HREF="pamdepth.html"><b>pamdepth</b></A>, -<A HREF="pnmpsnr.html"><b>pnmpsnr</b></A>, -<A HREF="pnm.html">pnm</A>, -<A HREF="pam.html">pam</A> +<a href="pamfunc.html"><b>pamfunc</b></a>, +<a href="pamsummcol.html"><b>pamsummcol</b></a>, +<a href="pamsumm.html"><b>pamsumm</b></a>, +<a href="pnminvert.html"><b>pnminvert</b></a>, +<a href="pambrighten.html"><b>pambrighten</b></a>, +<a href="ppmdim.html"><b>ppmdim</b></a>, +<a href="pnmconvol.html"><b>pnmconvol</b></a>, +<a href="pamdepth.html"><b>pamdepth</b></a>, +<a href="pnmpsnr.html"><b>pnmpsnr</b></a>, +<a href="pnm.html"><b>pnm</b></a>, +<a href="pam.html"><b>pam</b></a> -<H2 id="history">HISTORY</h2> +<h2 id="history">HISTORY</h2> <p><b>pamarith</b> replaced <b>pnmarith</b> in Netpbm 10.3 (June 2002). @@ -231,25 +259,29 @@ would be removed from Netpbm -- the plan was just to rewrite it to use the images to have different depths as long as one of them has depth 1, and that made it backward compatible with <b>pnmarith</b>. -<P>The original <b>pnmarith</b> did not have the <b>-mean</b> option. +<p>The original <b>pnmarith</b> did not have the <b>-mean</b> option. -<P>The <b>-compare</b> option was added in Netpbm 10.13 (December 2002). +<p>The <b>-compare</b> option was added in Netpbm 10.13 (December 2002). <p>The bit string operations were added in Netpbm 10.27 (March 2005). -<P>The <b>-divide</b> option was added in Netpbm 10.30 (October 2005). - -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#maxval">MAXVAL</A> -<LI><A HREF="#operations">THE OPERATIONS</A> -<LI><A HREF="#notes">NOTES</A> -<LI><A HREF="#history">HISTORY</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<p>The <b>-divide</b> option was added in Netpbm 10.30 (October 2005). + +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> + <ul> + <li><a href="#maxval">Maxval</a> + </ul> +<li><a href="#options">OPTIONS</a> + <ul> + <li><a href="#options">The Functions</a> + </ul> +<li><a href="#note">NOTE: UNARY FUNCTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +</ul> +</body> +</html> diff --git a/pamfix.html b/pamfix.html index 1decac85..f4021fc7 100644 --- a/pamfix.html +++ b/pamfix.html @@ -1,32 +1,32 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pamfix User Manual</TITLE></HEAD> -<BODY> -<H1>pamfix</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamfix User Manual</title></head> +<body> +<h1>pamfix</h1> Updated: 06 March 2014 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pamfix - repair a Netpbm image with various corruptions -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pamfix</B> +<b>pamfix</b> [<b>-truncate</b>] [<b>-changemaxval</b>] [<b>-clip</b>] [<b>-verbose</b>] -[<I>netpbmfile</I>] +[<i>netpbmfile</i>] <p>Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -40,7 +40,7 @@ illegally large sample values. <p><b>pamfix</b> looks at only on the first image in a multi-image stream. -<h3 id="truncatedstream">Truncated stream</h3> +<h3 id="truncatedstream">Truncated Stream</h3> <p>This is a stream that is missing the last part. Netpbm corrects this by creating an output image that simply has fewer rows. @@ -111,12 +111,42 @@ in the image. Request this with <b>-changemaxval</b>. <p>You cannot specify both <b>-clip</b> and <b>-changemaxval</b>. -<H2 id="seealso">SEE ALSO</H2> +<h2 id="options">OPTIONS</h2> -<A HREF="pnm.html">pnm</A>, -<A HREF="pam.html">pam</A>, -<A HREF="pamcut.html">pamcut</A>, -<A HREF="pamfile.html">pamfile</A>, +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pamfix</b> recognizes the following +command line options: + +<dl compact> +<dt><b>-truncate</b> + +<dd>Create a truncated output image from all the valid input rows that +could be read. + +<dt><b>-changemaxval</b> + +<dd>Raise the maxval to cope with pixel values that exceed the maxval +stated in the header of the input file. + +<dt><b>-clip</b> + +<dd>Change all pixel values that exceed the maxval stated in the header +of the input file. + +<dt><b>-verbose</b> + +<dd>Report details of the transportation to standard error. + +</dl> + +<h2 id="seealso">SEE ALSO</h2> + +<a href="pnm.html">pnm</a>, +<a href="pam.html">pam</a>, +<a href="pamcut.html">pamcut</a>, +<a href="pamfile.html">pamfile</a>, +<a href="pamvalidate.html">pamvalidate</a> <h2 id="history">HISTORY</h2> @@ -125,15 +155,18 @@ in the image. Request this with <b>-changemaxval</b>. the truncated image repair (and for invalid sample values would simply pass them through to its output, generating an invalid Netpbm image). -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<li><a href="#truncatedstream">Truncated Stream</a> -<li><a href="#excessivesample">Excessive Sample Value</a> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#history">HISTORY</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> + <ul> + <li><a href="#truncatedstream">Truncated Stream</a> + <li><a href="#excessivesample">Excessive Sample Value</a> + </ul> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +</ul> +</body> +</html> diff --git a/pammixmulti.html b/pammixmulti.html index c5854c32..97cf4122 100755 --- a/pammixmulti.html +++ b/pammixmulti.html @@ -1,18 +1,14 @@ -<?xml version="1.0"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"> -<html> -<head> -<title>Pammixmulti User Manual</title> -</head> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pammixmulti User Manual</title></head> <body> <h1>pammixmulti</h1> - -Updated: 18 November 2018<br /> +Updated: 18 November 2018<br> +<br> <a href="#index">Table Of Contents</a> -<h2 id="name">NAME</h2> -<p>pammixmulti - blend together multiple PAM images</p> +<h2>NAME</h2> +<p>pammixmulti - blend together multiple PAM images <h2 id="synopsis">SYNOPSIS</h2> @@ -26,20 +22,24 @@ Updated: 18 November 2018<br /> <p>Minimum unique abbreviation of an option is acceptable. You can use a single hyphen instead of double hyphens to denote options. You can use white space in place of the equals sign to separate an option name from its -value.</p> +value. <h2 id="description">DESCRIPTION</h2> -<p>This file is part of <a href="http://netpbm.sourceforge.net/doc/index.html">Netpbm</a>.</p> +<p>This file is part of <a href="index.html">Netpbm</a>. <p><b>pammixmulti</b> mixes two or more images to produce a new image. The program provides multiple ways to interpret "mix." <h2 id="options">OPTIONS</h2> -<p><b>pammixmulti</b> accepts the following command-line options:</p> -<dl> +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pammixmulti</b> recognizes the following +command line options: + +<dl compact> <dt><b>--blend</b>=average|random|mask</dt> <dd> <p>This option specifies how the input images should be mixed to produce the @@ -50,7 +50,7 @@ output is produced by selecting the corresponding pixel from one of the input images, chosen at random on a per-pixel basis. With <b>--blend</b>=<code>mask</code>, each pixel in the output is produced by a weighted average of the corresponding pixels from all the input images based -on the grayscale level of an additional mask image.</p> +on the grayscale level of an additional mask image. </dd> <dt><b>--maskfile</b>=<i>filename</i></dt> @@ -60,7 +60,7 @@ grayscale mask file to control the blending of each pixel. (If the file is not grayscale, the first channel is treated as gray). Where the mask file is black, the first image is selected. Where the mask file is white, the last image is selected. Intermediate levels of gray select intermediate -images.</p> +images. </dd> <dt><b>--stdev</b>=<i>number</i></dt> @@ -77,7 +77,7 @@ that includes roughly equal amounts of the corresponding pixel from images 1 and 2 but less of the corresponding pixel from image 3. As <i>number</i> tends towards the number of input images (going beyond that has diminishing impact), the output tends to look more -like <b>--blend</b>=average. <i>number</i> defaults to 0.25.</p> +like <b>--blend</b>=average. <i>number</i> defaults to 0.25. </dd> <dt><b>--randomseed</b> <i>integer</i> @@ -91,39 +91,39 @@ like <b>--blend</b>=average. <i>number</i> defaults to 0.25.</p> <h2 id="arguments">ARGUMENTS</h2> -<p>You supply the names of the files to mix as non-option arguments.</p> +<p>You supply the names of the files to mix as non-option arguments. <h2 id="examples">EXAMPLES</h2> -<p>Average a bunch of PPM images to produce a new PAM image:</p> +<p>Average a bunch of PPM images to produce a new PAM image: <pre><code> pammixmulti input*.ppm >output.ppm </code></pre> <p>Mix these same images by taking each pixel from a randomly selected input -image:</p> +image: <pre><code> pammixmulti --blend=random input*.ppm >output.ppm </code></pre> <p>Use a mask image to control the fading among input images on a -pixel-by-pixel basis:</p> +pixel-by-pixel basis: <pre><code> pammixmulti --blend=mask --maskfile=mask.pgm >output.pam \ one.pam two.pam three.pam four.pam </code></pre> -<p>Do the same but with more abrupt transitions:</p> +<p>Do the same but with more abrupt transitions: <pre><code> pammixmulti --blend=mask --maskfile=mask.pgm --stdev=0.0 >output.pam \ one.pam two.pam three.pam four.pam </code></pre> -<p>and now with more gradual transitions:</p> +<p>and now with more gradual transitions: <pre><code> pammixmulti --blend=mask --maskfile=mask.pgm --stdev=1.0 >output.pam \ @@ -131,14 +131,14 @@ pixel-by-pixel basis:</p> </code></pre> -<H2 id="history">HISTORY</H2> +<h2 id="history">HISTORY</h2> <p><b>pammixmulti</b> was new in Netpbm 10.85 (December 2018). <h2 id="author">AUTHOR</h2> -<p>Copyright 2018 Scott Pakin, scott+pbm@pakin.org.</p> +<p>Copyright 2018 Scott Pakin, scott+pbm@pakin.org. <h2 id="seealso">SEE ALSO</h2> @@ -152,14 +152,14 @@ pixel-by-pixel basis:</p> <h2 id="index">Table Of Contents</h2> <ul> -<li><a href="#synopsis">SYNOPSIS</a></li> -<li><a href="#description">DESCRIPTION</a></li> -<li><a href="#options">OPTIONS</a></li> -<li><a href="#arguments">ARGUMENTS</a></li> -<li><a href="#examples">EXAMPLES</a></li> -<li><a href="#history">HISTORY</a></li> -<li><a href="#author">AUTHOR</a></li> -<li><a href="#seealso">SEE ALSO</a></li> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#arguments">ARGUMENTS</a> +<li><a href="#examples">EXAMPLES</a> +<li><a href="#history">HISTORY</a> +<li><a href="#author">AUTHOR</a> +<li><a href="#seealso">SEE ALSO</a> </ul> </body> diff --git a/pampaintspill.html b/pampaintspill.html index 935529f2..eeb1cac6 100644 --- a/pampaintspill.html +++ b/pampaintspill.html @@ -107,12 +107,12 @@ command line options: <h2 id="seealso">SEE ALSO</h2> <ul> -<li><a href="pamgradient.html">pamgradient</a> +<li><a href="pamgradient.html"><b>pamgradient</b></a> <li><a href="ppmmake.html"><b>ppmmake</b></a>, <li><a href="ppmrainbow.html"><b>ppmrainbow</b></a>, <li><a href="pgmramp.html"><b>pgmramp</b></a>, <li><a href="ppmpat.html"><b>ppmpat</b></a>, -<li><a href="pam.html">pam</a> +<li><a href="pam.html"><b>pam</b></a> </ul> <h2 id="history">HISTORY</h2> @@ -138,4 +138,3 @@ command line options: </body> </html> - diff --git a/pamrgbatopng.html b/pamrgbatopng.html index 8eac29a9..de924b81 100644 --- a/pamrgbatopng.html +++ b/pamrgbatopng.html @@ -1,25 +1,20 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pamrgbtopng User Manual</TITLE></HEAD> -<BODY> -<H1>pamrgbatopng</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamrgbtopng User Manual</title></head> +<body> +<h1>pamrgbatopng</h1> Updated: 28 June 2015 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> -<H2>NAME</H2> +<h2>NAME</h2> -pamrgbatopng - convert PAM color/transparency image to PNG +pamrgbatopng - replaced by pamtopng -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pamrgbatopng</B> +<b>pamrgbatopng</b> [<i>pamfile</i>] -<P>Minimum unique abbreviation of option is acceptable. You may use double -hyphens instead of single hyphen to denote options. You may use white -space in place of the equals sign to separate an option name from its value. - -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -38,6 +33,6 @@ options. But the one feature it had that <b>pnmtopng</b> lacked was the ability to recognize transparency in a PAM image. <b>pamtopng</b> has that, as well as most of the features of <b>pnmtopng</b>. -</BODY> -</HTML> +</body> +</html> diff --git a/pamshadedrelief.html b/pamshadedrelief.html index 179313be..95e701cf 100644 --- a/pamshadedrelief.html +++ b/pamshadedrelief.html @@ -1,27 +1,27 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pamshadedrelief User Manual</TITLE></HEAD> -<BODY> -<H1>pamshadedrelief</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamshadedrelief User Manual</title></head> +<body> +<h1>pamshadedrelief</h1> Updated: 26 July 2014 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pamshadedrelief - generate shaded relief image from an elevation map -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pamshadedrelief</B> +<b>pamshadedrelief</b> -[<B>-gamma</B> <I>g</I>] +[<b>-gamma</b> <i>g</i>] -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. -<P><B>pamshadedrelief</B> creates a shaded relief image from an elevation map. +<p><b>pamshadedrelief</b> creates a shaded relief image from an elevation map. A shaded relief image is a visual image of terrain, showing the terrain as if illuminated by oblique light and viewed from above, so that the brightess of each spot depends upon its slope. A common example of a shaded relief image @@ -43,88 +43,92 @@ landscape. </pre> -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<P>All options can be abbreviated to their shortest unique prefix. +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pamshadedrelief</b> recognizes the following +command line option: -<DL COMPACT> -<DT><B>-gamma</B> <I>factor</I> +<dl compact> +<dt><b>-gamma</b> <i>factor</i> +<dt><b>-g</b> <i>factor</i> -<DD>The specified <I>factor</I> is used to gamma adjust the image in -the same manner as performed by <B>pnmgamma</B>. The default value is +<dd>The specified <i>factor</i> is used to gamma adjust the image in +the same manner as performed by <b>pnmgamma</b>. The default value is 1.0, which results in a medium contrast image. Values larger than 1 lighten the image and reduce contrast, while values less than 1 darken the image, increasing contrast. -<P>Note that this is separate from the gamma correction that is part of the -definition of the PAM GRAYSCALE format. The image <B>pamshadedrelief</B> +<p>Note that this is separate from the gamma correction that is part of the +definition of the PAM GRAYSCALE format. The image <b>pamshadedrelief</b> generates is a genuine, gamma-corrected PAM GRAYSCALE image in any case. This option simply changes the contrast and may compensate for a display device that does not correctly render PAM GRAYSCALE images. -</DL> +</dl> -<H2 id="designnotes">DESIGN NOTES</H2> +<h2 id="designnotes">DESIGN NOTES</h2> -The<B>-gamma</B> option isn't really necessary since you can achieve -the same effect by piping the output from <B>pamshadedrelief</B> through -<B>pnmgamma</B>. However, <B>pamshadedrelief</B> performs an internal gamma +The<b>-gamma</b> option isn't really necessary since you can achieve +the same effect by piping the output from <b>pamshadedrelief</b> through +<b>pnmgamma</b>. However, <b>pamshadedrelief</b> performs an internal gamma map anyway in the process of rendering the elevation array into the PAM GRAYSCALE format, so there's no additional overhead in allowing an additional gamma adjustment. -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<B><A HREF="ppmrelief.html">ppmrelief</A></B> +<b><a href="ppmrelief.html">ppmrelief</a></b> -<B><A HREF="pnmgamma.html">pnmgamma</A></B>, +<b><a href="pnmgamma.html">pnmgamma</a></b>, -<B><A HREF="pnmsmooth.html">pnmsmooth</A></B> +<b><a href="pnmsmooth.html">pnmsmooth</a></b> -<B><A HREF="pamcrater.html">pamcrater</A></B> +<b><a href="pamcrater.html">pamcrater</a></b> -<B><A HREF="pam.html">pam</A></B>, +<b><a href="pam.html">pam</a></b>, -<H2>AUTHOR</H2> +<h2 id="author">AUTHOR</h2> <p><b>pgmcrater</b>, from which this is derived, was written by John Walker: -<PRE> +<pre> John Walker Autodesk SA Avenue des Champs-Montants 14b CH-2074 MARIN Suisse/Schweiz/Svizzera/Svizra/Switzerland - <B>Usenet:</B><A HREF="mailto:kelvin@Autodesk.com">kelvin@Autodesk.com</A> - <B>Fax:</B>038/33 88 15 - <B>Voice:</B>038/33 76 33 -</PRE> + <b>Usenet:</b><a href="mailto:kelvin@Autodesk.com">kelvin@Autodesk.com</a> + <b>Fax:</b>038/33 88 15 + <b>Voice:</b>038/33 76 33 +</pre> -<P>Permission to use, copy, modify, and distribute this software and +<p>Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided "as is" without express or implied warranty. -<H2 id="history">HISTORY</H2> +<h2 id="history">HISTORY</h2> <p><b>pgmcrater</b> was split into <b>pamshadedrelief</b> and <b>pamcrater</b> in Netpbm 10.68 (September 2014). See the history section of the <b>pamcrater</b> manual for details. -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#designnotes">DESIGN NOTES</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#author">AUTHOR</A> -<LI><A HREF="#history">HISTORY</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#designnotes">DESIGN NOTES</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +<li><a href="#history">HISTORY</a> +</ul> +</body> +</html> diff --git a/pamsplit.html b/pamsplit.html index 15972eb9..489f8f4e 100644 --- a/pamsplit.html +++ b/pamsplit.html @@ -1,22 +1,22 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pamsplit User Manual</TITLE></HEAD> -<BODY> -<H1>pamsplit</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamsplit User Manual</title></head> +<body> +<h1>pamsplit</h1> Updated: 11 August 2011 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pamsplit - split a multi-image Netpbm file into single-image files -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pamsplit</B> +<b>pamsplit</b> -[<I>netpbmfile</I> +[<i>netpbmfile</i> -[<I> output_file_pattern</I>]] +[<i> output_file_pattern</i>]] [<b>-padname=</b><i>n</i>] @@ -25,25 +25,25 @@ hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. <p><b>pamsplit</b> reads a PNM or PAM stream as input. It copies each image in the input into a separate file, in the same format. -<P><I>netpbmfile</I> is the file name of the input file, or -<B>-</B> to indicate Standard Input. The default is Standard Input. +<p><i>netpbmfile</i> is the file name of the input file, or +<b>-</b> to indicate Standard Input. The default is Standard Input. -<P><I>output_file_pattern</I> tells how to name the output files. It +<p><i>output_file_pattern</i> tells how to name the output files. It is the file name of the output file, except that the first occurrence of "%d" in it is replaced by the image sequence number in unpadded ASCII decimal, with the sequence starting at 0. If -there is no "%d" in the pattern, <B>pamsplit</B> fails. +there is no "%d" in the pattern, <b>pamsplit</b> fails. -<P>The default output file pattern is "image%d". +<p>The default output file pattern is "image%d". -<p>The <b>-padname</b> option specifies to how many characters you +<p>The <b>-padname</b> option specifies how many characters you want the image sequence number in the output file name padded with zeroes. <b>pamsplit</b> adds leading zeroes to the image sequence number to get up to at least that number of characters. This is just @@ -52,14 +52,10 @@ example, <kbd>pamsplit - outputfile%d.ppm -padname=3</kbd> would yield output filenames <b>outputfile000.ppm</b>, <b>outputfile001.ppm</b>, etc. -<p>The default is no padding (equivalent to <b>-padname=0</b>). -<P>The <b>-padname</b> option was new in Netpbm 10.23 (July 2004). -Before that, there was never any padding. - -<P>Note that to do the reverse operation (combining multiple +<p>Note that to do the reverse operation (combining multiple single-image Netpbm files into a multi-image one), there is no special -Netpbm program. Just use <B>cat</B>. +Netpbm program. Just use <b>cat</b>. <p>If you just want to find out basic information about the images in a stream, you can use <b>pamfile</b> on the stream. @@ -71,21 +67,44 @@ them, use <b>pampick</b>. files, use <b>pamexec</b>. -<H2 id="seealso">SEE ALSO</H2> - -<B><A HREF="pamfile.html">pamfile</A></B>, -<B><A HREF="pampick.html">pampick</A></B>, -<B><A HREF="pamexec.html">pamexec</A></B>, -<B><A HREF="pnm.html">pnm</A></B>, -<B><A HREF="pam.html">pam</A></B>, -<B>cat</b> man page - -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#seealso">SEE ALSO</A> -</UL> -</BODY> -</HTML> +<h2 id="options">OPTIONS</h2> + +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pamsplit</b> recognizes the following +command line option: + +<dl compact> +<dt><b>-padname=</b><i>n</i> + +<dd>Specify the width (i.e. number of digits) of the image sequence +number field in the filenames of the output files. The image +sequence will be padded with leading zeroes to achieve the stated +width. + +<p>The default is no padding (equivalent to <b>-padname=0</b>). + +<p>The <b>-padname</b> option was new in Netpbm 10.23 (July 2004). +Before that, there was never any padding. + +</dl> + +<h2 id="seealso">SEE ALSO</h2> + +<b><a href="pamfile.html">pamfile</a></b>, +<b><a href="pampick.html">pampick</a></b>, +<b><a href="pamexec.html">pamexec</a></b>, +<b><a href="pnm.html">pnm</a></b>, +<b><a href="pam.html">pam</a></b>, +<b>cat</b> man page + +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +</ul> +</body> +</html> diff --git a/pamstereogram.html b/pamstereogram.html index d2a67f8e..759ca28d 100644 --- a/pamstereogram.html +++ b/pamstereogram.html @@ -1,22 +1,14 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title>Pamstereogram User Manual</title> -</head> - +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamstereogram User Manual</title></head> <body> - <h1>pamstereogram</h1> +Updated: 10 May 2020 +<br> +<a href="#index">Table Of Contents</a> -<p>Updated: 10 May 2020</p> - -<p><a href="#contents">Table Of Contents</a></p> - +<h2>NAME</h2> -<h2 id="name">NAME</h2> - -<p>pamstereogram - create a single-image stereogram from a PAM -depth map</p> +pamstereogram - create a single-image stereogram from a PAM depth map <h2 id="synopsis">SYNOPSIS</h2> @@ -46,13 +38,13 @@ depth map</p> [<b>-randomseed=</b><i>integer</i>] [<b>-tileable</b>] [<i>infile</i>] -</p> + <h2 id="description">DESCRIPTION</h2> -<p>This program is part of <a href="index.html">Netpbm</a>.</p> +<p>This program is part of <a href="index.html">Netpbm</a>. <p><b>pamstereogram</b> inputs a depth map (a map of the distances from your eye of the points in a scene) and outputs a single-image @@ -62,22 +54,22 @@ eyes. What's exciting about single-image stereograms is that they don't require special glasses to view, although it does require a bit of practice to train your eyes to unfocus properly. The <b>pamstereogram</b> program provides a wealth of control over how the -stereogram is generated, including the following:</p> +stereogram is generated, including the following: <ul> -<li>black and white, grayscale, or color output</li> +<li>black and white, grayscale, or color output <li>single-image random-dot stereograms (SIRDS), single-image stereograms (SIS) using a tiled image, or mapped-texture stereograms -(MTS)</li> +(MTS) -<li>images targeting a given device resolution and eye separation</li> +<li>images targeting a given device resolution and eye separation -<li>optional guide boxes to assist in focusing</li> +<li>optional guide boxes to assist in focusing -<li>the ability to trade off depth levels for easier viewing</li> +<li>the ability to trade off depth levels for easier viewing -<li>choice of wall-eyed or cross-eyed stereograms</li> +<li>choice of wall-eyed or cross-eyed stereograms </ul> <p>The output is a PAM image on standard output. Options control @@ -87,48 +79,55 @@ if you will use the image as input to a current Netpbm program, but many other programs don't know what a PAM is. <p>To make a red/green type of stereogram (that you view with 3-D -glasses) instead, see <b>ppm3d</b>.</p> +glasses) instead, see <b>ppm3d</b>. <h2 id="options">OPTIONS</h2> +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pamstereogram</b> recognizes the following +command line options: + <p>You may use either single or double hyphens to denote options. You may use either whitespace or an equals sign to separate an option name -from its value.</p> +from its value. <dl> -<dt><b>-verbose</b></dt> +<dt><b>-verbose</b> <dd>Display messages about image sizes and formats and properties -of the stereogram being generated.</dd> +of the stereogram being generated. -<dt><b>-blackandwhite</b></dt> +<dt><b>-blackandwhite</b> <dd>Produce a single-image random-dot black-and-white stereogram. -This is the default.</dd> +This is the default. -<dt><b>-grayscale</b></dt> -<dd>Produce a single-image random-dot grayscale stereogram.</dd> +<dt><b>-grayscale</b> +<dd>Produce a single-image random-dot grayscale stereogram. -<dt><b>-color</b></dt> -<dd>Produce a single-image random-dot color stereogram.</dd> +<dt><b>-color</b> +<dd>Produce a single-image random-dot color stereogram. -<dt><b>-maxval=</b><i>value</i></dt> +<dt><b>-maxval=</b><i>value</i> <dd>Designate the maximum value of each gray/color component, i.e. the color resolution. Smaller values make the output image have smaller numbers of unique grays/colors. If you don't specify <b>-maxval</b>, <b>pamstereogram</b> uses the maxval of the input -image. This option has no effect with <b>-blackandwhite</b>.</dd> +image. This option has no effect with <b>-blackandwhite</b>. -<dt><b>-patfile=</b><i>pamfile</i></dt> +<dt><b>-patfile=</b><i>pamfile</i> <dd>Specify an image to use as a repeated background pattern for the stereogram instead of a random-dot pattern. Intricate images generally produce a crisper 3-D effect that simpler images. The output file will have the same maxval and format (black and white, grayscale or color) as the pattern file. You cannot specify the <b>-patfile</b> option along with <b>-blackandwhite</b>, -<b>-grayscale</b>, <b>-color</b>, or <b>-maxval</b>.</dd> +<b>-grayscale</b>, <b>-color</b>, or <b>-maxval</b>. The +<b>-verbose</b> option will give you information on the ideal +dimensions of the pattern file. -<dt><b>-xbegin=</b><i>pixels</i></dt> +<dt><b>-xbegin=</b><i>pixels</i> <dd>Specify the horizontal coordinate at which to begin stereogram generation. The background pattern will be minimally distorted at this point and more distorted at greater distances. Consider using this in conjunction @@ -142,7 +141,7 @@ and <b>pamstereogram</b> actually ignores it with respect to <b>-texfile</b> <p>This option was new in Netpbm 10.71 (June 2015). -<dt><b>-texfile=</b><i>pamfile</i></dt> +<dt><b>-texfile=</b><i>pamfile</i> <dd>Specify an image to use as the texture for a mapped-texture stereogram. The idea is that the depth-map image provides the depth values of the 3-D object/scene while the texture image provides the @@ -151,10 +150,10 @@ the depth-map image. (Note that it's required to have the same dimensions.) The texture image's background color is ignored when blending colors. -<p>This option was new in Netpbm 10.53 (December 2010).</p> -</dd> +<p>This option was new in Netpbm 10.53 (December 2010). + -<dt><b>-bgcolor=</b><i>color</i></dt> +<dt><b>-bgcolor=</b><i>color</i> <dd>Use <i>color</i> as the texture image's background color instead of letting <b>pamstereogram</b> determine it automatically. Specify the color as described for the @@ -162,10 +161,10 @@ the color as described for the routine</a>. The <b>-bgcolor</b> option is meaningful only in conjunction with <b>-texfile</b>. -<p>This option was new in Netpbm 10.53 (December 2010).</p> -</dd> +<p>This option was new in Netpbm 10.53 (December 2010). -<dt><b>-smoothing=</b><i>pixels</i></dt> + +<dt><b>-smoothing=</b><i>pixels</i> <dd>When used without <b>-texfile</b>, attempt to eliminate artifacts introduced by edges in the depth map if <i>pixels</i> is greater than zero. @@ -176,29 +175,29 @@ by the stereogram's color constraints when producing a mapped-texture stereogram. In this case, the <b>-smoothing</b> option is helpful when the texture image includes smooth color transitions (as in a photograph) but makes crisp texture images (as in a line drawing) -appear blurry.</p> +appear blurry. <p>This option was new in Netpbm 10.53 (December 2010). Before -Netpbm 10.61 (December 2012), it has no effect without <b>-texfile</b>.</p> -</dd> +Netpbm 10.61 (December 2012), it has no effect without <b>-texfile</b>. + -<dt><b>-xshift=</b><i>pixels</i></dt> +<dt><b>-xshift=</b><i>pixels</i> <dd>Shift the pattern image (designated by <b>-patfile</b>) to the right by <i>pixels</i> pixels (default: 0). -<!-- <b>-xshift</b> is helpful when creating "true-color" stereograms. --> -This option is valid only along with <b>-patfile</b>.</dd> +<!-- -xshift is helpful when creating "true-color" stereograms. --> +This option is valid only along with <b>-patfile</b>. -<dt><b>-yshift</b> <i>pixels</i></dt> +<dt><b>-yshift</b> <i>pixels</i> <dd>Shift the pattern image (designated by <b>-patfile</b>) downwards by <i>pixels</i> pixels (default: 0). This option is -valid only along with <b>-patfile</b>.</dd> +valid only along with <b>-patfile</b>. -<dt><b>-magnifypat=</b><i>scale</i></dt> +<dt><b>-magnifypat=</b><i>scale</i> <dd>Magnify each pixel in the pattern file or each random dot by integral scaling factor <i>scale</i>. Note that <b>pamstereogram</b> applies the pattern magnification <em>after</em> pattern shifting (<b>-xshift</b> and -<b>-yshift</b>).</dd> +<b>-yshift</b>). <dt><b>-guidebottom</b> <dd> @@ -212,7 +211,7 @@ square. At that point, a crisp, 3-D image will appear. <p>This option was new in Netpbm 10.61 (December 2012). Before that, the presence of <b>-guidesize</b>, with a positive value, has the same effect. -</dd> + <dt><b>-guidetop</b> <dd> @@ -222,7 +221,7 @@ Same as <b>-guidebottom</b>, except the guides go at the top of the image. the presence of <b>-guidesize</b>, with a negative value, has the same effect. -<dt><b>-guidesize=</b><i>pixels</i></dt> +<dt><b>-guidesize=</b><i>pixels</i> <dd>The size (width and height) of each guide box. @@ -237,15 +236,15 @@ too, and if you specify it with a negative value, it behaves as if you specified <b>-guidetop</b> and specified <b>guidesize</b> with the absolute value of that negative value. -<dt><b>-dpi=</b><i>resolution</i></dt> +<dt><b>-dpi=</b><i>resolution</i> <dd>Specify the resolution of the output device in dots per inch. The default is 100 DPI, which represents a fairly crisp screen resolution. -<p>Before Netpbm 10.53 (December 2010), the default was 96 DPI.</p> -</dd> +<p>Before Netpbm 10.53 (December 2010), the default was 96 DPI. + -<dt><b>-crosseyed</b></dt> +<dt><b>-crosseyed</b> <dd>Invert the gray levels in the depth map (input image) so that the 3-D image pops out of the page where it would otherwise sink into the page and vice versa. Some people are unable to diverge their eyes and can only cross @@ -256,10 +255,10 @@ colors are farther from the eye. <p>Before Netpbm 10.53 (December 2010), <b>pamstereogram</b> used higher (lighter) numbers for things closer to the eye <em>without</em> -<b>-crosseyed</b> and vice versa.</p> -</dd> +<b>-crosseyed</b> and vice versa. -<dt><b>-makemask</b></dt> + +<dt><b>-makemask</b> <dd>Instead of a stereogram, output a PAM mask image showing coloring constraints. New pixels will be taken from the pattern file where the mask is black. Copies of existing pixels will be @@ -267,30 +266,30 @@ taken from the pattern file where the mask is white. The <b>-makemask</b> option can be used to help create more sophisticated pattern files (to use with <b>-patfile</b>) Note that <b>-makemask</b> ignores <b>-magnifypat</b>; it always produces -masks that assume a pattern magnification of 1.</dd> +masks that assume a pattern magnification of 1. -<dt><b>-eyesep=</b><i>inches</i></dt> +<dt><b>-eyesep=</b><i>inches</i> <dd>Specify the separation in inches between your eyes. The default, 2.5 inches (6.4 cm), should be sufficient for most people -and probably doesn't need to be changed.</dd> +and probably doesn't need to be changed. -<dt><b>-depth=</b><i>fraction</i></dt> +<dt><b>-depth=</b><i>fraction</i> <dd>Specify the output image's depth of field. That is, <i>fraction</i> represents the fractional distance of the near plane from the far plane. Smaller numbers make the 3-D image easier to perceive but flatter. Larger numbers make the 3-D image more difficult to perceive but deeper. The default, 0.3333, generally -works fairly well.</dd> +works fairly well. -<dt><b>-planes=</b><i>near_pixels</i>,<i>far_pixels</i></dt> +<dt><b>-planes=</b><i>near_pixels</i>,<i>far_pixels</i> <dd>Explicitly specify the distance between repeated pixels in the near plane and in the far plane. This is an alternative to <b>-eyesep</b> and <b>-depth</b>. The following equalities hold: <ul> - <li><i>eyesep</i> = 2 * <i>far</i></li> + <li><i>eyesep</i> = 2 * <i>far</i> <li><i>depth</i> = 2 * (<i>far</i> − <i>near</i>) / - (2 * <i>far</i> − <i>near</i>)</li> + (2 * <i>far</i> − <i>near</i>) </ul> <p>The number of distinct 3-D depths is <i>far</i> @@ -300,26 +299,25 @@ parameters (distance between eyes and tradeoff between perceptibility and depth) while <b>-planes</b> is a more computer-centric way (pixel distances in the resulting stereogram). -<p>This option was new in Netpbm 10.59 (June 2012).</p> -</dd> +<p>This option was new in Netpbm 10.59 (June 2012). + -<dt><b>-randomseed=</b><i>integer</i></dt> +<dt><b>-randomseed=</b><i>integer</i> <dd>Specify a seed to be used for the random number generator. The default is to use a seed based on the time of day, to one second granularity. <p>It is useful to specify the seed if you want to create reproducible results. With the same random seed, you should get identical results -every time you run <b>pamstereogram</b>.</p> +every time you run <b>pamstereogram</b>. <p>This is irrelevant if you use a pattern file (<b>-patfile</b> option), because there is no random element to <b>pamstereogram</b>'s -behavior.</p> +behavior. -<p>This option was new in Netpbm 10.32 (February 2006).</p> -</dd> +<p>This option was new in Netpbm 10.32 (February 2006). -<dt><b>-tileable</b></dt> +<dt><b>-tileable</b> <dd>Make the generated image horizontally tileable. This works by blending a left-to-right rendering (the equivalent @@ -327,7 +325,6 @@ of <b>-xbegin</b>=0) with a right-to-left rendering (the equivalent of <b>-xbegin</b>=<i>width−1</i>). <p>This option was new in Netpbm 10.91 (June 2020). -</dd> </dl> @@ -336,7 +333,7 @@ of <b>-xbegin</b>=<i>width−1</i>). <p>The only parameter, <i>infile</i>, is the name of an input file that is a depth map image. If you don't specify <i>infile</i>, the -input is from standard input.</p> +input is from standard input. <p>The input is a PAM image of depth 1. Each sample represents the distance from the eye that the 3-D image at that location should @@ -347,10 +344,10 @@ be. Lower (darker) numbers mean further from the eye. <h3 id="inputimages">Input Images</h3> <p><b>pamstereogram</b> pays no attention to the image's tuple type and -ignores all planes other than plane 0.</p> +ignores all planes other than plane 0. <p>Like any Netpbm program, <b>pamstereogram</b> will accept PNM -input as if it were the PAM equivalent.</p> +input as if it were the PAM equivalent. <h3 id="mappedtexture">Mapped-texture Stereograms</h3> @@ -358,12 +355,12 @@ input as if it were the PAM equivalent.</p> drawn with true colors. Unlike a SIRDS or tiled-image SIS, however, the image portrayed by an MTS is apparent in normal 2-D viewing. It appears repeated multiple times and overlapped with itself, but it is -not hidden.</p> +not hidden. <p>You create an MTS with <b>pamstereogram</b> by passing the filename of a PAM "texture image" with a <b>-texfile</b> option. A texture image portrays the same 3-D object as the depth-map image but -indicates the colors that the program should apply to the object.</p> +indicates the colors that the program should apply to the object. <p><b>pamstereogram</b> ignores the texture image's background color when it overlaps copies of the 3-D object. This prevents, for example, a bright-red @@ -373,32 +370,32 @@ object remains bright red. A consequence of this feature is that an MTS looks best when the objects in the texture image have a crisp outline. Smooth transitions to the background color result in unwanted color artifacts around edges because the program ignores only <em>exact</em> matches with the -background color.</p> +background color. <p>You should specify a larger-than-normal value for <b>-eyesep</b> (and/or <b>-dpi</b>) when producing an MTS. Otherwise, the 3-D object will repeat so many times that most colored pixels will overlap other colored -pixels, reducing the number of true-colored pixels that remain.</p> +pixels, reducing the number of true-colored pixels that remain. <p>An MTS can employ a background pattern (<b>-patfile</b>). In this case, <b>pamstereogram</b> replaces background pixels with pattern pixels in -the final step of generating the image.</p> +the final step of generating the image. <h3 id="notes_misc">Miscellaneous</h3> <p>A good initial test is to input an image consisting of a solid shape of distance 0 within a large field of maximum distance (e.g., a -white square on a black background).</p> +white square on a black background). <p>With the default values for <b>-dpi</b> and <b>-eyesep</b>, pattern -images that are 128 pixels wide can tile seamlessly.</p> +images that are 128 pixels wide can tile seamlessly. <h2 id="examples">EXAMPLES</h2> <p>Generate a SIRDS out of small, brightly colored squares and -prepare it for display on an 87 DPI monitor:</p> +prepare it for display on an 87 DPI monitor: <pre> pamstereogram depthmap.pam \ @@ -409,7 +406,7 @@ prepare it for display on an 87 DPI monitor:</p> <p>Generate a SIS by tiling a PPM file (a prior run with <b>-verbose</b> indicates how wide the pattern file should be for seamless tiling, although any width is acceptable for producing -SISes):</p> +SISes): <pre> pamstereogram depthmap.pam -patfile mypattern.ppm >3d.pam @@ -419,7 +416,7 @@ SISes):</p> <p>Generate an MTS by associating colors with a depth-mapped object (using a large eye separation to reduce the number of repetitions of the texture image) and twice smoothing over background-colored -speckles:</p> +speckles: <pre> pamstereogram depthmap.pam \ @@ -430,25 +427,25 @@ speckles:</p> <h2 id="seealso">SEE ALSO</h2> <ul> -<li><a href="pam.html">pam</a></li> +<li><a href="pam.html">pam</a> -<li><a href="pamsistoaglyph.html">pamsistoaglyph</a></li> +<li><a href="pamsistoaglyph.html">pamsistoaglyph</a> -<li><a href="ppm3d.html">ppm3d</a></li> +<li><a href="ppm3d.html">ppm3d</a> <li>Harold W. Thimbleby, Stuart Inglis, and Ian H. Witten. <em>Displaying 3D Images: Algorithms for Single Image Random Dot Stereograms</em>. In IEEE Computer, <strong>27</strong>(10):38-48, October 1994. DOI: <a -href="http://dx.doi.org/10.1109/2.318576">10.1109/2.318576</a>.</li> +href="http://dx.doi.org/10.1109/2.318576">10.1109/2.318576</a>. <li>W. A. Steer. <em>Stereograms: Technical Details</em>. -URL: <a href="http://www.techmind.org/stereo/stech.html">http://www.techmind.org/stereo/stech.html</a>.</li> +URL: <a href="http://www.techmind.org/stereo/stech.html">http://www.techmind.org/stereo/stech.html</a>. </ul> -<h2><a id="history">HISTORY</a></h2> +<h2 id="history">HISTORY</h2> <p><b>pamstereogram</b> was new in Netpbm 10.22 (April 2004), but probably broken beyond usability until Netpbm 10.32 (February 2006) and Netpbm 10.26.23 @@ -459,26 +456,25 @@ broken beyond usability until Netpbm 10.32 (February 2006) and Netpbm 10.26.23 Netpbm 10.61 (December 2012). -<h2><a id="author">AUTHOR</a></h2> -<p>Copyright © 2006-2020 Scott Pakin, <a href="mailto:scott+pbm@pakin.org">scott+pbm@pakin.org</a>.</p> +<h2 id="author">AUTHOR</h2> +<p>Copyright © 2006-2020 Scott Pakin, <a href="mailto:scott+pbm@pakin.org">scott+pbm@pakin.org</a>. -<h2><a id="contents">Table Of Contents</a></h2> +<h2 id="index">Table Of Contents</h2> <ul> -<li><a href="#synopsis">SYNOPSIS</a></li> -<li><a href="#description">DESCRIPTION</a></li> -<li><a href="#options">OPTIONS</a></li> -<li><a href="#parameters">PARAMETERS</a></li> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#parameters">PARAMETERS</a> <li><a href="#notes">NOTES</a> -<ul> - <li><a href="#inputimages">Input Images</a></li> - <li><a href="#mappedtexture">Mapped-texture Stereograms</a></li> - <li><a href="#notes_misc">Miscellaneous</a></li> + <ul> + <li><a href="#inputimages">Input Images</a> + <li><a href="#mappedtexture">Mapped-texture Stereograms</a> + <li><a href="#notes_misc">Miscellaneous</a> </ul> -</li> -<li><a href="#examples">EXAMPLES</a></li> -<li><a href="#seealso">SEE ALSO</a></li> -<li><a href="#history">HISTORY</a></li> -<li><a href="#author">AUTHOR</a></li> +<li><a href="#examples">EXAMPLES</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +<li><a href="#author">AUTHOR</a> </ul> </body> </html> diff --git a/pamsumm.html b/pamsumm.html index 3e0a4694..d8cab088 100644 --- a/pamsumm.html +++ b/pamsumm.html @@ -1,17 +1,17 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pamsumm User Manual</TITLE></HEAD> -<BODY> -<H1>pamsumm</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamsumm User Manual</title></head> +<body> +<h1>pamsumm</h1> Updated: 26 October 2012 -<BR> +<br> -<A HREF="#index">Table Of Contents</A> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pamsumm - Summarize the samples in a Netpbm image arithmetically -<H2 id="synopsis">SYNOPSIS</H2> -<B>pamsumm</B> +<h2 id="synopsis">SYNOPSIS</h2> +<b>pamsumm</b> { <b>-sum</b> | <b>-mean</b> | @@ -20,13 +20,13 @@ pamsumm - Summarize the samples in a Netpbm image arithmetically } [<b>-normalize</b>] [<b>-brief</b>] -[<I>imagefile</I>] +[<i>imagefile</i>] -<P>All options can be abbreviated to their shortest unique prefix. +<p>All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -51,36 +51,41 @@ want to summarize a particular plane, use <b>pamchannel</b> to extract it and then <b>pamsumm</b>. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> + +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pamsumm</b> recognizes the following +command line options: <p>You must specify exactly one of <b>-sum</b>, <b>-mean</b>, <b>-min</b>, or <b>-max</b>. -<DL COMPACT> -<DT><B>-sum</b> +<dl compact> +<dt><b>-sum</b> -<DD> - <P>This option makes the summary function addition. +<dd> + <p>This option makes the summary function addition. -<DT><B>-mean</b> +<dt><b>-mean</b> -<DD> - <P>This option makes the summary function arithmetic mean. +<dd> + <p>This option makes the summary function arithmetic mean. -<DT><B>-min</b> +<dt><b>-min</b> -<DD> - <P>This option makes the summary function arithmetic minimum. +<dd> + <p>This option makes the summary function arithmetic minimum. -<DT><B>-max</b> +<dt><b>-max</b> -<DD> - <P>This option makes the summary function arithmetic maximum. +<dd> + <p>This option makes the summary function arithmetic maximum. -<DT><B>-normalize</b> +<dt><b>-normalize</b> -<DD> - <P>This option causes each sample to be normalized to a fraction +<dd> + <p>This option causes each sample to be normalized to a fraction (in the range 0..1) so the result is independent of the image's maxval. E.g. if you request the mean of an image which has maxval 200 and all the samples have value 50, <b>pamsumm</b> will give you @@ -106,12 +111,12 @@ extract it and then <b>pamsumm</b>. <p>This option was new in Netpbm 10.22 (April 2004) -</DL> +</dl> -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<B><A HREF="pamsummcol.html">pamsummcol</A></B>, -<B><A HREF="pam.html">pam</A></B>, +<b><a href="pamsummcol.html">pamsummcol</a></b>, +<b><a href="pam.html">pam</a></b>, <h2 id="history">HISTORY</h2> @@ -119,14 +124,14 @@ extract it and then <b>pamsumm</b>. 2004). -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF=#history>HISTORY</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +</ul> +</body> +</html> diff --git a/pamtable.html b/pamtable.html index 202eec0b..9580a135 100644 --- a/pamtable.html +++ b/pamtable.html @@ -1,23 +1,23 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pamtable User Manual</TITLE></HEAD> -<BODY> -<H1>pamtable</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamtable User Manual</title></head> +<body> +<h1>pamtable</h1> Updated: 15 April 2017 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pamtable - print the raster as a table of numerical sample values -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pamtable</B> +<b>pamtable</b> -[<I>netpbmfile</I>] +[<i>netpbmfile</i>] -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -26,12 +26,12 @@ sample values. For example, a 5-pixel wide, 2-pixel high rainbow (black, red, green, blue, white) PPM image with maxval 255 would appear as follows: <pre> -<tt> +<span style="font-family: monospace"> 0 0 0|255 0 0| 0 255 0| 0 0 255|255 255 255 0 0 0|255 0 0| 0 255 0| 0 0 255|255 255 255 -</tt> +</span> </pre> @@ -53,7 +53,7 @@ number of spaces required to print the maxval of the image. <p>If you want the samples to print more densely, use <b>pamdepth</b> to reduce the maxval (thus making the decimal numbers for the samples narrower). -<P>The <b>less</b> program (not part of Netpbm) is good for browsing through +<p>The <b>less</b> program (not part of Netpbm) is good for browsing through the table. Use its <b>--chop-long-lines</b> option and use cursor movement keys to scroll around in the image. @@ -67,33 +67,36 @@ comes from Standard Input. <h2 id="options">OPTIONS</h2> -<p>None. +<p>There are no command line options defined specifically +for <b>pamtable</b>, but it recognizes the options common to all +programs based on libnetpbm (See <a href="index.html#commonoptions"> +Common Options</a>.) -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<A HREF="pamfile.html">pamfile</A>, -<A HREF="pamcut.html">pamcut</A>, -<A HREF="pamchannel.html">pamchannel</A>, -<A HREF="pnm.html">pnm</A>, -<A HREF="pam.html">pam</A>, -<A HREF="pamslice.html">pamslice</A>, -<A HREF="ppmtoarbtxt.html">ppmtoarbtxt</A>, -<A HREF="ppmtoterm.html">ppmtoterm</A>, +<a href="pamfile.html">pamfile</a>, +<a href="pamcut.html">pamcut</a>, +<a href="pamchannel.html">pamchannel</a>, +<a href="pnm.html">pnm</a>, +<a href="pam.html">pam</a>, +<a href="pamslice.html">pamslice</a>, +<a href="ppmtoarbtxt.html">ppmtoarbtxt</a>, +<a href="ppmtoterm.html">ppmtoterm</a>, <h2 id="history">HISTORY</h2> <p><b>pamtable</b> was new in Netpbm 10.79 (June 2017). -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#seealso">ARGUMENTS</A> -<LI><A HREF="#seealso">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#history">HISTORY</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#arguments">ARGUMENTS</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +</ul> +</body> +</html> diff --git a/pamtompfont.html b/pamtompfont.html index e31538cb..aab69cd1 100644 --- a/pamtompfont.html +++ b/pamtompfont.html @@ -1,23 +1,23 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pamtompfont User Manual</TITLE></HEAD> -<BODY> -<H1>pamtompfont</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamtompfont User Manual</title></head> +<body> +<h1>pamtompfont</h1> Updated: 18 May 2008 +<br> +<a href="#index">Table Of Contents</a> -<A HREF="#index">Table Of Contents</A> - -<H2>NAME</H2> +<h2>NAME</h2> pamtompfont - Convert Netpbm image to Mplayer bitmap font file -<H2 id="synopsis">SYNOPSIS</H2> -<B>pamtompfont</B> -[<I>imagefile</I>] +<h2 id="synopsis">SYNOPSIS</h2> +<b>pamtompfont</b> +[<i>netpbmfile</i>] -<P>All options can be abbreviated to their shortest unique prefix. +<p>All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -43,27 +43,30 @@ raster file of the to left corner of the glyph, and the width of the glyph in pixels. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<p>None. +<p>There are no command line options defined specifically +for <b>pamtompfont</b>, but it recognizes the options common to all +programs based on libnetpbm (See <a href="index.html#commonoptions"> +Common Options</a>.) -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<B><A HREF="pam.html">pam</A></B> +<b><a href="pam.html">pam</a></b> <h2 id="history">HISTORY</h2> <p><b>pamtompfont</b> was added to Netpbm in Release 10.43 (June 2008). -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#history">HISTORY</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +</ul> +</body> +</html> diff --git a/pamtooctaveimg.html b/pamtooctaveimg.html index 64a8f62c..4e09e8e1 100644 --- a/pamtooctaveimg.html +++ b/pamtooctaveimg.html @@ -58,7 +58,7 @@ specify <i>netpbmfile</i>, the input is from Standard Input. <pre> <kbd> - % pamtooctaveimg myimage.ppm > myimage.img + % pamtooctaveimg myimage.ppm > myimage.img % octave > [img,map] = loadimage("myimage.img"); diff --git a/pamtotiff.html b/pamtotiff.html index e2301097..4334a543 100644 --- a/pamtotiff.html +++ b/pamtotiff.html @@ -1,59 +1,59 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pamtotiff User Manual</TITLE></HEAD> -<BODY> -<H1>pamtotiff</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamtotiff User Manual</title></head> +<body> +<h1>pamtotiff</h1> Updated: 05 April 2017 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pamtotiff - convert a Netpbm image to a TIFF file -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pamtotiff</B> +<b>pamtotiff</b> -[<B>-none</B> | <B>-packbits</B> | <B>-lzw</B> | <B>-g3</B> | <B>-g4</B> -| <B>-flate</B> | <B>-adobeflate</B>] +[<b>-none</b> | <b>-packbits</b> | <b>-lzw</b> | <b>-g3</b> | <b>-g4</b> +| <b>-flate</b> | <b>-adobeflate</b>] -[<B>-2d</B>] +[<b>-2d</b>] -[<B>-fill</B>] +[<b>-fill</b>] -[<B>-predictor=</B><I>n</I>] +[<b>-predictor=</b><i>n</i>] -[<B>-msb2lsb</B>|<B>-lsb2msb</B>] +[<b>-msb2lsb</b>|<b>-lsb2msb</b>] -[<B>-rowsperstrip=</B><I>n</I>] +[<b>-rowsperstrip=</b><i>n</i>] -[<B>-minisblack</B>|<B>-miniswhite</B>|<B>mb</B>|<b>mw</b>] +[<b>-minisblack</b>|<b>-miniswhite</b>|<b>mb</b>|<b>mw</b>] -[<B>-truecolor</B>] +[<b>-truecolor</b>] -[<B>-color</B>] +[<b>-color</b>] -[<B>-indexbits=</B><I>bitwidthlist</I>] +[<b>-indexbits=</b><i>bitwidthlist</i>] <br> -[<B>-xresolution=</b><i>xres</i>] +[<b>-xresolution=</b><i>xres</i>] -[<B>-yresolution=</b><i>yres</i>] +[<b>-yresolution=</b><i>yres</i>] <br> -[<B>-resolutionunit=</b>{<b>inch</b> | <b>centimeter</b> | <b>none</b> | +[<b>-resolutionunit=</b>{<b>inch</b> | <b>centimeter</b> | <b>none</b> | <b>in</b> | <b>cm</b> | <b>no</b>}] [<b>-append</b>] [<b>-tag=</b><i>taglist</i>] -[<I>pamfile</I>] +[<i>pamfile</i>] -<P>You can use the minimum unique abbreviation of the options. You +<p>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. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -67,7 +67,7 @@ ignored all but the first Netpbm image in the input stream. <h3 id="output">The Output File</h3> -<P>By default, the output goes to Standard Output. Alternatively, you can +<p>By default, the output goes to Standard Output. Alternatively, you can specify an output file with the <b>-output</b> option and <b>pamtotiff</b> will write its output directly to that file. @@ -131,18 +131,18 @@ for example, you would set up a write-only Standard Output to the file /tmp/myimage.tiff like this: <pre> -<tt> +<kbd> $ pamtotiff myimage.pnm >/tmp/myimage.tiff -</tt> +</kbd> </pre> In Bash, you would set up a read/write Standard Output to the file /tmp/myimage.tiff like this: <pre> -<tt> +<kbd> $ pamtotiff myimage.pnm 1<>/tmp/myimage.tiff -</tt> +</kbd> </pre> <h3 id="library">TIFF Capability</h3> @@ -151,11 +151,16 @@ In Bash, you would set up a read/write Standard Output to the file equivalent you provide) to generate the TIFF output. Details of the format it produces are therefore controlled by that library. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> + +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pamtotiff</b> recognizes the following +command line options: <h3 id="compression">Compression</h3> -<P>By default, <B>pamtotiff</B> creates a TIFF file with no +<p>By default, <b>pamtotiff</b> creates a TIFF file with no compression. This is your best bet most of the time. If you want to try another compression scheme or tweak some of the other even more obscure output options, there are a number of options which to @@ -169,20 +174,20 @@ now expired and new TIFF libraries do LZW, but the <b>pamtotiff</b> behavior remains the same for compatibility with older TIFF libraries and applications of <b>pamtotiff</b>. -<P>The <B>-none</B>, <B>-packbits</B>, <B>-lzw</B>, <B>-g3</B>, -<B>-g4</B>, <B>-flate</B>, and <B>-adobeflate</B> options are used to +<p>The <b>-none</b>, <b>-packbits</b>, <b>-lzw</b>, <b>-g3</b>, +<b>-g4</b>, <b>-flate</b>, and <b>-adobeflate</b> options are used to override the default and set the compression scheme used in creating the output file. -The <B>-predictor</B> option is meaningful only with LZW compression: a +The <b>-predictor</b> option is meaningful only with LZW compression: a predictor value of 2 causes each scanline of the output image to undergo horizontal differencing before it is encoded; a value of 1 forces each -scanline to be encoded without differencing. By default, <B>pamtotiff</B> -creates a TIFF file with msb-to-lsb fill order. The <B>-msb2lsb</B> and -<B>-lsb2msb</B> options are used to override the default and set the fill +scanline to be encoded without differencing. By default, <b>pamtotiff</b> +creates a TIFF file with msb-to-lsb fill order. The <b>-msb2lsb</b> and +<b>-lsb2msb</b> options are used to override the default and set the fill order used in creating the file. -<P>With some older TIFF libraries, <B>-lzw</B> doesn't work because +<p>With some older TIFF libraries, <b>-lzw</b> doesn't work because the TIFF library doesn't do LZW compression. This is because of concerns about Unisys's patent on LZW which was then in force. Actually, with very old TIFF libraries, <b>-lzw</b> works because no @@ -193,7 +198,7 @@ issue. patent-free compression common in the Unix world implemented by the "Z" library. It is what the PNG format uses. -<H4 id="faxcompression">Fax Compression</H4> +<h4 id="faxcompression">Fax Compression</h4> <p>If you have bilevel data (e.g. PBM), you can generate a TIFF that uses the same compression scheme specified for use by fax machines. See the <a @@ -219,7 +224,7 @@ shall be zero-filled to a byte boundary. <h3 id="fillorder">Fill Order</h3> <p>The <b>-msb2lsb</b> and <b>lsb2msb</b> options control the fill order. -<P>The fill order is the order in which pixels are packed into a byte in +<p>The fill order is the order in which pixels are packed into a byte in the Tiff raster, in the case that there are multiple pixels per byte. msb-to-lsb means that the leftmost columns go into the most significant bits of the byte in the Tiff image. However, there is @@ -230,55 +235,55 @@ endianness of integers in a Tiff image is designated by the image's magic number). However, ImageMagick and older Netpbm both have been known to implement that interpretation. 2001.09.06. -<P>If the image does not have sub-byte pixels, these options have no +<p>If the image does not have sub-byte pixels, these options have no effect other than to set the value of the FILLORDER tag in the Tiff image (which may be useful for those programs that misinterpret the tag with reference to 16 bit samples). <h3 id="colorspace">Color Space</h3> -<P><B>-color</B> tells <B>pamtotiff</B> to produce a color, as +<p><b>-color</b> tells <b>pamtotiff</b> to produce a color, as opposed to grayscale, TIFF image if the input is PPM, even if it -contains only shades of gray. Without this option, <B>pamtotiff</B> +contains only shades of gray. Without this option, <b>pamtotiff</b> produces a grayscale TIFF image if the input is PPM and contains only shades of gray, and at most 256 shades. Otherwise, it produces a -color TIFF output. For PBM and PGM input, <B>pamtotiff</B> always +color TIFF output. For PBM and PGM input, <b>pamtotiff</b> always produces grayscale TIFF output and this option has no effect. -<P>The <B>-color</B> option can prevent <B>pamtotiff</B> from making +<p>The <b>-color</b> option can prevent <b>pamtotiff</b> from making two passes through the input file, thus improving speed and memory usage. See <a href="#multipass">Multiple Passes</a>. -<P><B>-truecolor</B> tells <B>pamtotiff</B> to produce the 24-bit RGB +<p><b>-truecolor</b> tells <b>pamtotiff</b> to produce the 24-bit RGB form of TIFF output if it is producing a color TIFF image. Without -this option, <B>pamtotiff</B> produces a colormapped (paletted) TIFF +this option, <b>pamtotiff</b> produces a colormapped (paletted) TIFF image unless there are more than 256 colors (and in the latter case, issues a warning). -<P>The <B>-truecolor</B> option can prevent <B>pamtotiff</B> from +<p>The <b>-truecolor</b> option can prevent <b>pamtotiff</b> from making two passes through the input file, thus improving speed and memory usage. See <a href="#multipass">Multiple Passes</a>. -<P>The <B>-color</b> and <b>-truecolor</b> options did not exist +<p>The <b>-color</b> and <b>-truecolor</b> options did not exist before Netpbm 9.21 (December 2001). -<P>If <B>pamtotiff</B> produces a grayscale TIFF image, this option +<p>If <b>pamtotiff</b> produces a grayscale TIFF image, this option has no effect. -<P>The <B>-minisblack</B> and <B>-miniswhite</B> options force the +<p>The <b>-minisblack</b> and <b>-miniswhite</b> options force the output image to have a "minimum is black" or "minimum is white" photometric, respectively. If you don't specify -either, <B>pamtotiff</b> uses minimum is black except when using Group -3 or Group 4 compression, in which case <B>pamtotiff</B> follows CCITT +either, <b>pamtotiff</b> uses minimum is black except when using Group +3 or Group 4 compression, in which case <b>pamtotiff</b> follows CCITT fax standards and uses "minimum is white." This usually results in better compression and is generally preferred for bilevel coding. These photometrics are for grayscale images, so these options are invalid if the image is color (but only if it is truly color; they are valid with, for example, a PPM image that contains only shades of gray). -<P>Before Netpbm 9.11 (February 200)1, <B>pamtotiff</B> always produced +<p>Before Netpbm 9.11 (February 200)1, <b>pamtotiff</b> always produced "minimum is black," because of a bug. In either case, -<B>pamtotiff</B> sets the photometric interpretation tag in the TIFF +<b>pamtotiff</b> sets the photometric interpretation tag in the TIFF output according to which photometric is actually used. <p>Before Netpbm 10.78 (March 2017), <b>pamtotiff</b> respected @@ -286,28 +291,28 @@ output according to which photometric is actually used. invalid TIFF images that have the indicated photometric but red, green, and blue raster planes. -<P>The <B>-indexbits</B> option is meaningful only for a colormapped +<p>The <b>-indexbits</b> option is meaningful only for a colormapped (paletted) image. In this kind of image, the raster contains values which are indexes into a table of colors, with the indexes normally taking less space that the color description in the table. -<B>pamtotiff</B> can generate indexes of 1, 2, 4, or 8 bits. By +<b>pamtotiff</b> can generate indexes of 1, 2, 4, or 8 bits. By default, it will use 8, because many programs that interpret TIFF images can't handle any other width. -<P>But if you have a small number of colors, you can make your image +<p>But if you have a small number of colors, you can make your image considerably smaller by allowing fewer than 8 bits per index, using the -<B>-indexbits</B> option. The value is a comma-separated list of the -bit widths you allow. <B>pamtotiff</B> chooses the smallest width you allow +<b>-indexbits</b> option. The value is a comma-separated list of the +bit widths you allow. <b>pamtotiff</b> chooses the smallest width you allow that allows it to index the entire color table. If you don't allow any -such width, <B>pamtotiff</B> fails. Normally, the only useful value for -this option is <B>1,2,4,8</B>, because a program either understands the 8 +such width, <b>pamtotiff</b> fails. Normally, the only useful value for +this option is <b>1,2,4,8</b>, because a program either understands the 8 bit width (default) or understands them all. -<P>In a Baseline TIFF image, according to the 1992 TIFF 6.0 +<p>In a Baseline TIFF image, according to the 1992 TIFF 6.0 specification, 4 and 8 are the only valid widths. There are no formal standards that allow any other values. -<P>This option was added in June 2002. Before that, only 8 bit indices were +<p>This option was added in June 2002. Before that, only 8 bit indices were possible. <h3 id="extratags">Extra Tags</h3> @@ -373,7 +378,7 @@ an IMAGEWIDTH tag that gives the actual width of the image. <h3 id="outputoptions">Output</h3> -<p>See <a href="output">The Output File</a>. +<p>See <a href="#output">The Output File</a>. <p><b>-output</b> names the output file. Without this option <b>pamtotiff</b> writes to Standard Output. @@ -396,29 +401,29 @@ always Standard Output in 10.67) instead of replacing its contents. <h3 id="other">Other</h3> -<P>You can use the <B>-rowsperstrip</B> option to set the number of +<p>You can use the <b>-rowsperstrip</b> option to set the number of rows (scanlines) in each strip of data in the output file. By default, the output file has the number of rows per strip set to a value that will ensure each strip is no more than 8 kilobytes long. -<H2 id="notes">NOTES</H2> +<h2 id="notes">NOTES</h2> -<P>There are myriad variations of the TIFF format, and this program -generates only a few of them. <B>pamtotiff</B> creates a grayscale +<p>There are myriad variations of the TIFF format, and this program +generates only a few of them. <b>pamtotiff</b> creates a grayscale TIFF file if its input is a PBM (monochrome) or PGM (grayscale) or -equivalent PAM file. <B>pamtotiff</B> also creates a grayscale file +equivalent PAM file. <b>pamtotiff</b> also creates a grayscale file if it input is PPM (color) or equivalent PAM, but there is only one color in the image. <p>If the input is a PPM (color) file and there are 256 colors or -fewer, but more than 1, <B>pamtotiff</B> generates a color palette -TIFF file. If there are more colors than that, <B>pamtotiff</B> +fewer, but more than 1, <b>pamtotiff</b> generates a color palette +TIFF file. If there are more colors than that, <b>pamtotiff</b> generates an RGB (not RGBA) single plane TIFF file. Use -<B>pnmtotiffcmyk</B> to generate the cyan-magenta-yellow-black ink +<b>pnmtotiffcmyk</b> to generate the cyan-magenta-yellow-black ink color separation TIFF format. -<P>The number of bits per sample in the TIFF output is determined by +<p>The number of bits per sample in the TIFF output is determined by the maxval of the Netpbm input. If the maxval is less than 256, the bits per sample in the output is the smallest number that can encode the maxval. If the maxval is greater than or equal to 256, there are 16 @@ -460,25 +465,25 @@ your planes aren't really color components, you'll want to disable this via the <b>-color</b> option. -<H3 id="multipass">Multiple Passes</H3> +<h3 id="multipass">Multiple Passes</h3> -<P><B>pamtotiff</B> reads the input image once if it can, and +<p><b>pamtotiff</b> reads the input image once if it can, and otherwise twice. It needs that second pass (which happens before the main pass, of course) to analyze the colors in the image and generate a color map (palette) and determine if the image is grayscale. So the second pass happens only when the input is PPM. And you can avoid it -then by specifying both the <B>-truecolor</B> and <B>-color</B> +then by specifying both the <b>-truecolor</b> and <b>-color</b> options. -<P> If the input image is small enough to fit in your system's file +<p> If the input image is small enough to fit in your system's file cache, the second pass is very fast. If not, it requires reading from disk twice, which can be slow. -<P>When the input is from a file that cannot be rewound and reread, -<B>pamtotiff</B> reads the entire input image into a temporary file +<p>When the input is from a file that cannot be rewound and reread, +<b>pamtotiff</b> reads the entire input image into a temporary file which can, and works from that. Even if it needs only one pass. -<P>Before Netpbm 9.21 (December 2001), <b>pamtotiff</b> always read +<p>Before Netpbm 9.21 (December 2001), <b>pamtotiff</b> always read the entire image into virtual memory and then did one, two, or three passes through the memory copy. The <b>-truecolor</b> and <b>-color</b> options did not exist. The passes through memory would @@ -487,7 +492,7 @@ The image in memory required considerably more memory (12 bytes per pixel) than the cached file version of the image would. -<h3>Resolution</h3> +<h3 id="resolution">Resolution</h3> <p>A Tiff image may contain information about the resolution of the image, which means how big in real dimensions (centimeters, etc.) each pixel in the @@ -535,7 +540,7 @@ does not contain horizontal resolution information. Likewise for <b>-yresolution</b>. If you don't specify <b>-resolutionunit</b>, the default is inches. -<li>Before Netpbm 10.16 (June 2003), <B>-resolutionunit</b> did not +<li>Before Netpbm 10.16 (June 2003), <b>-resolutionunit</b> did not exist and the resolution unit was always inches. </ul> @@ -546,56 +551,57 @@ exist and the resolution unit was always inches. PAM input. It was extended and renamed in Netpbm 10.30 (October 2005). -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<B><A HREF="tifftopnm.html">tifftopnm</A></B>, +<b><a href="tifftopnm.html">tifftopnm</a></b>, -<B><A HREF="pnmtotiffcmyk.html">pnmtotiffcmyk</A></B>, +<b><a href="pnmtotiffcmyk.html">pnmtotiffcmyk</a></b>, -<B><A HREF="pamdepth.html">pamdepth</A></B>, +<b><a href="pamdepth.html">pamdepth</a></b>, -<B><A HREF="pamtopnm.html">pamtopnm</A></B>, +<b><a href="pamtopnm.html">pamtopnm</a></b>, -<B><A HREF="pam.html">pam</A></B> +<b><a href="pam.html">pam</a></b> -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> Derived by Jef Poskanzer from ras2tiff.c, which is Copyright (c) 1990 by Sun Microsystems, Inc. -Author: Patrick J. Naughton (<A HREF="mailto:naughton@wind.sun.com">naughton@wind.sun.com</A>). +Author: Patrick J. Naughton (<a href="mailto:naughton@wind.sun.com">naughton@wind.sun.com</a>). -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> <ul> <li><a href="#output">The Output File</a> - <ul> + <ul> <li><a href="#oldoutput">Old Versions</a> </ul> <li><a href="#library">TIFF Capability</a> </ul> -<LI><A HREF="#options">OPTIONS</A> +<li><a href="#options">OPTIONS</a> <ul> <li><a href="#compression">Compression</a> <ul> <li><a href="#faxcompression">Fax Compression</a> </ul> <li><a href="#fillorder">Fill Order</a> - <li><a href="#colorspacer">Color Space</a> + <li><a href="#colorspace">Color Space</a> <li><a href="#extratags">Extra Tags</a> <li><a href="#outputoptions">Output</a> <li><a href="#other">Other</a> </ul> -<LI><A HREF="#notes">NOTES</A> -<UL> -<LI><A HREF="#multipass">Multiple Passes</A> -<LI><A HREF="#extrachannel">Extra Channels</A> -</UL> -<LI><A HREF="#history">HISTORY</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<li><a href="#notes">NOTES</a> + <ul> + <li><a href="#extrachannel">Extra Channels</a> + <li><a href="#multipass">Multiple Passes</a> + <li><a href="#resolution">Resolution</a> + </ul> +<li><a href="#history">HISTORY</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/pamvalidate.html b/pamvalidate.html index a50f9b90..4ea689a5 100644 --- a/pamvalidate.html +++ b/pamvalidate.html @@ -1,21 +1,21 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pamvalidate User Manual</TITLE></HEAD> -<BODY> -<H1>pamvalidate</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pamvalidate User Manual</title></head> +<body> +<h1>pamvalidate</h1> Updated: 22 March 2014 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pamvalidate - validate Netpbm image format -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pamvalidate</B> +<b>pamvalidate</b> -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -47,31 +47,33 @@ stream. <p>See <b>pamfix</b> for a way to salvage an invalid Netpbm image stream. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<p>None. +<p>There are no command line options defined specifically +for <b>pamvalidate</b>, but it recognizes the options common to all +programs based on libnetpbm (See <a href="index.html#commonoptions"> +Common Options</a>.) +<h2 id="seealso">SEE ALSO</h2> -<H2 id="seealso">SEE ALSO</H2> - -<B><A HREF="pam.html">pam</A></B> -<B><A HREF="pnm.html">pnm</A></B> -<B><A HREF="pamfix.html">pamfix</A></B> +<b><a href="pam.html">pam</a></b> +<b><a href="pnm.html">pnm</a></b> +<b><a href="pamfix.html">pamfix</a></b> <h2 id="history">HISTORY</h2> <p><b>pamvalidate</b> was new in Netpbm 10.66 (March 2014). -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#history">HISTORY</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +</ul> +</body> +</html> diff --git a/pbmmake.html b/pbmmake.html index fba27f14..06afbb73 100644 --- a/pbmmake.html +++ b/pbmmake.html @@ -1,26 +1,26 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pbmmake User Manual</TITLE></HEAD> -<BODY> -<H1>pbmmake</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pbmmake User Manual</title></head> +<body> +<h1>pbmmake</h1> Updated: 13 December 2003 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pbmmake - create a blank bitmap of a specified size -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pbmmake</B> -[<B>-white</B>|<B>-black</B>|<B>-gray</B>] -<I>width</I> -<i>height</I> +<b>pbmmake</b> +[<b>-white</b>|<b>-black</b>|<b>-gray</b>] +<i>width</i> +<i>height</i> <p>You can abbreviate any option to its shortest unique prefix. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -28,31 +28,46 @@ pbmmake - create a blank bitmap of a specified size height, either all black, all white, or a dithered gray. The default is white. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<P>In addition to the usual <B>-white</B> and <B>-black</B>, this -program implements <B>-gray</B>. This gives a simple 50% gray pattern +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pbmmake</b> recognizes the following +command line options: + +<dl compact> +<dt><b>-white</b> +<dt><b>-black</b> +<dt><b>-gray</b> + +<p>In addition to the usual <b>-white</b> and <b>-black</b>, this +program implements <b>-gray</b>. This gives a simple 50% gray pattern with 1's and 0's alternating. -<H2 id="seealso">SEE ALSO</H2> +<p>With none of the above specified, the output image will be entirely +white. + +</dl> + +<h2 id="seealso">SEE ALSO</h2> -<A HREF="pgmmake.html">pgmmake</A>, -<A HREF="ppmmake.html">ppmmake</A>, -<A HREF="pbm.html">pbm</A> +<a href="pgmmake.html">pgmmake</a>, +<a href="ppmmake.html">ppmmake</a>, +<a href="pbm.html">pbm</a> -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> Copyright (C) 1989 by Jef Poskanzer. -<HR> -<H2 id="index">Table Of Contents</H2> - -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> + +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/pbmtog3.html b/pbmtog3.html index dc53eccb..5606c989 100644 --- a/pbmtog3.html +++ b/pbmtog3.html @@ -42,10 +42,9 @@ command line options: <dd>This option causes the output to have the bits in every byte reversed so the least significant bit becomes the most significant bit. -Apparently, there is some ambiguity in transmission protocols so that -the bits get reversed on transmission, and this compensates for that. -If you get a whole bunch of "bad code word" messages when you try to -read the G3 file (e.g. with <b>g3topbm</b>), try using this option. +Some fax modems expect bits in reverse order, and this compensates for +that. If you get a whole bunch of "bad code word" messages when you try +to read the G3 file (e.g. with <b>g3topbm</b>), try using this option. Note that the output is not G3 when you use this option. <dt><b>-nofixedwidth</b> diff --git a/pbmtogem.html b/pbmtogem.html index 0b34d268..f8073b43 100644 --- a/pbmtogem.html +++ b/pbmtogem.html @@ -31,7 +31,7 @@ Common Options</a>.) <h2 id="limitations">LIMITATIONS</h2> -pbmtogem does not support compression of repeated lines +<b>pbmtogem</b> cannot compress repeated lines. <h2 id="seealso">SEE ALSO</h2> diff --git a/pbmtoicon.html b/pbmtoicon.html index 6a6f7602..e46d63a7 100644 --- a/pbmtoicon.html +++ b/pbmtoicon.html @@ -1,21 +1,19 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pbmtoicon User Manual</TITLE></HEAD> -<BODY> -<H1>pbmtoicon</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pbmtoicon User Manual</title></head> +<body> +<h1>pbmtoicon</h1> -<A HREF="#index">Table Of Contents</A> +<h2>NAME</h2> -<H2>NAME</H2> +pbmtoicon - replaced by pbmtosunicon -pbmtoicon - convert a Sun icon image to PBM +<h2 id="synopsis">SYNOPSIS</h2> -<H2 id="synopsis">SYNOPSIS</H2> +<b>pbmtoicon</b> +[<i>iconfile</i>] -<B>pbmtoicon</B> -[<I>iconfile</I>] - -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -36,9 +34,5 @@ for <b>pbmtoicon</b>, as long as you recognize that any change the <b>pbmtosunicon</b> manual says happened in or after Netpbm 10.53 doesn't apply to <b>pbmtoicon</b>. -</BODY> -</HTML> - - - - +</body> +</html> diff --git a/pbmtoppa.html b/pbmtoppa.html index 5a7d4121..f4e695d1 100644 --- a/pbmtoppa.html +++ b/pbmtoppa.html @@ -236,7 +236,7 @@ as small as 1/4 inch without causing the printer to choke with same should work for the 820 and 1000, but it hasn't been tested. Also, use the pbmraw GSDriver if you have it; it's faster. -<p>Here is a tip to integrate HP720C support in RedHat's printtool: +<p>Here is a tip to integrate HP720C capability in RedHat's printtool: <p>Install pbmtoppa. Copy pbmtoppa to /usr/bin. @@ -254,7 +254,7 @@ StartEntry: DeskJet720C About: { \ This driver drives the HP DeskJet 720C \ inkjet printer. \ - It does not support color printing. \ + It cannot do color printing. \ IMPORTANT! Insert \ "- | pbm2ppa -" \ in the "Extra GS Options " field.\ diff --git a/pgmdeshadow.html b/pgmdeshadow.html index acde9010..0349b260 100644 --- a/pgmdeshadow.html +++ b/pgmdeshadow.html @@ -1,24 +1,22 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pgmdeshadow User Manual</TITLE></HEAD> -<BODY> -<H1>pgmdeshadow</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pgmdeshadow User Manual</title></head> +<body> +<h1>pgmdeshadow</h1> Updated: 06 July 2006 -<p> +<br> +<a href="#index">Table Of Contents</a> -<A HREF="#index">Table Of Contents</A> - -<H2>NAME</H2> +<h2>NAME</h2> pgmdeshadow - Deshadow a PGM image -<H2 id="synopsis">SYNOPSIS</H2> - -<B>pgmdeshadow</B> +<h2 id="synopsis">SYNOPSIS</h2> -[<I>pnmfile</I>] +<b>pgmdeshadow</b> +[<i>pnmfile</i>] -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -36,11 +34,14 @@ algorithm from Luc Vincent, "Morphological Grayscale Reruction in Image Analysis: Applications and Efficient Algorithms. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<p>None. +<p>There are no command line options defined specifically +for <b>pgmdeshadow</b>, but it recognizes the options common to all +programs based on libnetpbm (See <a href="index.html#commonoptions"> +Common Options</a>.) -<H2 id="references">REFERENCES</H2> +<h2 id="references">REFERENCES</h2> <ul> @@ -52,26 +53,26 @@ pp. 176-201. </ul> -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<A HREF="ppmshadow.html">ppmshadow</A>, -<A HREF="pgm.html">pgm</A> +<a href="ppmshadow.html">ppmshadow</a>, +<a href="pgm.html">pgm</a> <h2 id="history">HISTORY</h2> -<P><b>pgmdeshadow</b> was added to Netpbm in Version 10.35 (August 2006). +<p><b>pgmdeshadow</b> was added to Netpbm in Version 10.35 (August 2006). -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#references">REFERENCES</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#history">HISTORY</A> -</UL> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#references">REFERENCES</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +</ul> -</BODY> -</HTML> +</body> +</html> diff --git a/pgmramp.html b/pgmramp.html index 3008dc01..12e1d530 100644 --- a/pgmramp.html +++ b/pgmramp.html @@ -1,28 +1,28 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><title>Pgmramp User Manual</title> -</HEAD><BODY> -<H1>pgmramp</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pgmramp User Manual</title></head> +<body> +<h1>pgmramp</h1> Updated: 15 February 2014 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pgmramp - generate a grayscale ramp -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pgmramp</B> -{<B>-lr</B>|<B>-tb</B>|<B>-rectangle</B>|<B>-ellipse</B>|<b>-diagonal</b>} +<b>pgmramp</b> +{<b>-lr</b>|<b>-tb</b>|<b>-rectangle</b>|<b>-ellipse</b>|<b>-diagonal</b>} [<b>-maxval=</b><i>maxval</i>] -<I>width</i> <i>height</I> +<i>width</i> <i>height</i> -<P>All options can be abbreviated to their shortest unique prefix. +<p>All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -47,75 +47,81 @@ example, the <b>-lr</b> option gives you a left to right ramp and gives you a right to left ramp. -<P>To generate a simple ramp of all the values from 0 to maxval, and not +<p>To generate a simple ramp of all the values from 0 to maxval, and not necessarily a graphic image, use <b><a href="pamseq.html">pamseq</a></b>. <p><b>ppmrainbow</b> does something similar to what <b>pgmramp</b> does, but for color. The image fades between two colors of your choice. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pgmramp</b> recognizes the following +command line options: +<p> You must specify exactly one of the ramp type options. -<DL COMPACT> -<DT><B>-lr</B> -<DD> + +<dl compact> +<dt><b>-lr</b> +<dd> A left to right ramp. Black on the left; white on the right. -<DT><B>-tb</B> -<DD> +<dt><b>-tb</b> +<dd> A top to bottom ramp. Black on top; white on the bottom. -<DT><B>-rectangle</B> -<DD> +<dt><b>-rectangle</b> +<dd> An outside-in rectangular ramp. It is black around the edges and white in the center. -<DT><B>-ellipse</B> -<DD> +<dt><b>-ellipse</b> +<dd> An outside-in elliptical ramp. It is black around the edge and white in the center. -<DT><B>-diagonal</B> -<DD> +<dt><b>-diagonal</b> +<dd> A ramp from top left corner diagonally down to bottom right. Black at the top left; white at the bottom right. <p> This option was new in Netpbm 10.66 (March 2014). -<DT><b>-maxval=</b><i>maxval</i> -<DD> +<dt><b>-maxval=</b><i>maxval</i> +<dd> The maxval for the generated image. Default is 255. <p> This option was new in Netpbm 10.1 (June 2002). Before that, the maxval is always 255. -</DL> +</dl> -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<A HREF="pamflip.html"><b>pamflip</b></A>, -<A HREF="pamarith.html"><b>pamarith</b></A>, -<A HREF="pnmgamma.html"><b>pnmgamma</b></A>, -<A HREF="pamseq.html"><b>pamseq</b></A>, -<A HREF="ppmrainbow.html"><b>ppmrainbow</b></A>, -<A HREF="pamgradient.html"><b>pamgradient</b></A>, -<A HREF="pgm.html">pgm</A> +<a href="pamflip.html"><b>pamflip</b></a>, +<a href="pamarith.html"><b>pamarith</b></a>, +<a href="pnmgamma.html"><b>pnmgamma</b></a>, +<a href="pamseq.html"><b>pamseq</b></a>, +<a href="ppmrainbow.html"><b>ppmrainbow</b></a>, +<a href="pamgradient.html"><b>pamgradient</b></a>, +<a href="pgm.html">pgm</a> -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> Copyright (C) 1989 by Jef Poskanzer. -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#optoins">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/pngtopnm.html b/pngtopnm.html index 42709612..64d8f8a0 100644 --- a/pngtopnm.html +++ b/pngtopnm.html @@ -1,33 +1,31 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pngtopnm User Manual</TITLE></HEAD> -<BODY> -<H1>pngtopnm</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pngtopnm User Manual</title></head> +<body> +<h1>pngtopnm</h1> Updated: 22 July 2008 -<BR> -<A HREF="#index">Table Of Contents</A> -<H2>NAME</H2> +<h2>NAME</h2> -pngtopnm - convert a PNG image into a PNM image +pngtopnm - Convert a PNG image to PNM: replaced by pngtopam -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pngtopnm</B> +<b>pngtopnm</b> [<b>-verbose</b>] [<b>-alpha</b> | <b>-mix</b>] [<b>-background</b>=<i>color</i>] -<BR> +<br> [<b>-gamma</b>=<i>value</i>] [<b>-text</b>=<i>filename</i>] [<b>-time</b>] -[<I>pngfile</I>] +[<i>pngfile</i>] -<P>Minimum unique abbreviation of option is acceptable. You may use double +<p>Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -60,9 +58,5 @@ after Netpbm 10.44 doesn't apply to <b>pngtopnm</b>. </ul> -</BODY> -</HTML> - - - - +</body> +</html> diff --git a/pnmalias.html b/pnmalias.html index a527dcf1..bfcd506d 100644 --- a/pnmalias.html +++ b/pnmalias.html @@ -1,36 +1,36 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pnmalias User Manual</TITLE></HEAD> -<BODY> -<H1>pnmalias</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pnmalias User Manual</title></head> +<body> +<h1>pnmalias</h1> Updated: 15 March 2004 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pnmalias - antialias a PNM image -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pnmalias</B> +<b>pnmalias</b> -[<B>-bgcolor</B> <I>color</I>] +[<b>-bgcolor</b> <i>color</i>] -[<B>-fgcolor</B> <I>color</I>] +[<b>-fgcolor</b> <i>color</i>] -[<B>-bonly</B>] +[<b>-bonly</b>] -[<B>-fonly</B>] +[<b>-fonly</b>] -[<B>-balias</B>] +[<b>-balias</b>] -[<B>-falias</B>] +[<b>-falias</b>] -[<B>-weight</B> <I>w</I>] +[<b>-weight</b> <i>w</i>] -[<I>pnmfile</I>] +[<i>pnmfile</i>] -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -39,64 +39,69 @@ anti-aliasing to background and foreground pixels. If the input file is a PBM, <b>pnmalias</b> promotes the output anti-aliased image to a PGM, and prints a message informing the user of the change in format. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<P><B>-bgcolor</B> <I>colorb</I> sets the background color the +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pnmalias</b> recognizes the following +command line options: + +<p><b>-bgcolor</b> <i>colorb</i> sets the background color the <i>colorb</i>. -<p><B>-fgcolor</B> <I>colorf</I> sets the foreground color to +<p><b>-fgcolor</b> <i>colorf</i> sets the foreground color to <i>colorf</i>. <p>Pixels with these values will be anti-aliased. By default, <b>pnmalias</b> takes the background color to be black, and foreground color to be white. -<P>Specify the color (<i>color</i>) as described for the <a +<p>Specify the color (<i>color</i>) as described for the <a href="libnetpbm_image.html#colorname">argument of the <b>pnm_parsecolor()</b> library routine</a>. -<P>Note that even when dealing with PGMs, background and foreground +<p>Note that even when dealing with PGMs, background and foreground colors need to be specified in the fashion described above. In this case, <b>pnmalias</b> takes the background and foreground pixel values to be the value of the red component for the specified color. -<P><B>-bonly</B> says to apply anti-aliasing only to the background pixels. +<p><b>-bonly</b> says to apply anti-aliasing only to the background pixels. -<p><B>-fonly</B> says to apply anti-aliasing only to the foreground pixels. +<p><b>-fonly</b> says to apply anti-aliasing only to the foreground pixels. -<P><B>-balias</B> says to apply anti-aliasing to all pixels surrounding +<p><b>-balias</b> says to apply anti-aliasing to all pixels surrounding background pixels. -<P><B>-falias</B> says to apply anti-aliasing to all pixels surrounding +<p><b>-falias</b> says to apply anti-aliasing to all pixels surrounding foreground pixels. <p>If you specify neither <b>-balias</b> nor <b>-falias</b>, <b>pnmalias</b> applies anti-aliasing only among neighboring background and foreground pixels. -<P><B>-weight</B> <I>w</I> says to use <I>w</I> as the central weight -for the aliasing filter. <I>w</I> must be a real number in the range -0 < <I>w</I> < 1. The lower the value of <I>w</I> is, the +<p><b>-weight</b> <i>w</i> says to use <i>w</i> as the central weight +for the aliasing filter. <i>w</i> must be a real number in the range +0 < <i>w</i> < 1. The lower the value of <i>w</i> is, the "blurrier" the output image is. The default is w = 1/3. -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<A HREF="pbmtext.html">pbmtext</A>, -<A HREF="pnmsmooth.html">pnmsmooth</A>, -<A HREF="pnm.html">pnm</A> +<a href="pbmtext.html">pbmtext</a>, +<a href="pnmsmooth.html">pnmsmooth</a>, +<a href="pnm.html">pnm</a> -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> Copyright (C) 1992 by Alberto Accomazzi, Smithsonian Astrophysical Observatory. -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/pnmcolormap.html b/pnmcolormap.html index 70a382db..2ce2ea3d 100644 --- a/pnmcolormap.html +++ b/pnmcolormap.html @@ -1,64 +1,64 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pnmcolormap User Manual</TITLE></HEAD> -<BODY> -<H1>pnmcolormap</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pnmcolormap User Manual</title></head> +<body> +<h1>pnmcolormap</h1> Updated: 09 February 2019 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pnmcolormap - create quantization color map for a Netpbm image -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pnmcolormap</B> +<b>pnmcolormap</b> -[<B>-center</B>|<B>-meancolor</B>|<B>-meanpixel</B>] +[<b>-center</b>|<b>-meancolor</b>|<b>-meanpixel</b>] -[<B>-spreadbrightness</B>|<B>-spreadluminosity</B>] +[<b>-spreadbrightness</b>|<b>-spreadluminosity</b>] -[<B>-splitpixelct</B>|<B>-splitcolorct</B>|<b>-splitspread</b>] +[<b>-splitpixelct</b>|<b>-splitcolorct</b>|<b>-splitspread</b>] -[<B>-sort</B>] +[<b>-sort</b>] -[<B>-square</B>] +[<b>-square</b>] -<I>ncolors</I>|<B>all</B> +<i>ncolors</i>|<b>all</b> -[<I>pnmfile</I>] +[<i>pnmfile</i>] -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. <p><b>pnmcolormap</b> reads a PNM or PAM image as input, chooses -<I>ncolors</I> colors to best represent the image and writes a PNM +<i>ncolors</i> colors to best represent the image and writes a PNM color map defining them as output. A PAM image may actually contain tuples of any kind, but <b>pnmcolormap</b>'s concept of the tuple values that best represent the ones present in the image may not make sense if the tuple type isn't RGB or GRAYSCALE. The design of the program, and the rest of this manual, assumes the tuples represent colors. -<P>You can use this map as input to <B>pnmremap</B> on the same input +<p>You can use this map as input to <b>pnmremap</b> on the same input image to quantize the colors in that image, I.e. produce a similar -image with fewer colors. <B>pnmquant</B> does both the <B>pnmcolormap</B> -and <B>pnmremap</B> steps for you. +image with fewer colors. <b>pnmquant</b> does both the <b>pnmcolormap</b> +and <b>pnmremap</b> steps for you. -<P>A PNM colormap is a PNM image of any dimensions that contains at +<p>A PNM colormap is a PNM image of any dimensions that contains at least one pixel of each color in the set of colors it represents. The ones <b>pnmcolormap</b> generates have exactly one pixel of each color, except where padding is necessary with the <b>-square</b> option. -<P>The quantization method is Heckbert's "median cut". +<p>The quantization method is Heckbert's "median cut". See <a href="#quant">QUANTIZATION METHOD</a>. -<P>The output image is of the same format (PBM, PGM, PPM, PAM) as the +<p>The output image is of the same format (PBM, PGM, PPM, PAM) as the input image. Note that a colormap of a PBM image is not very interesting. -<P>The colormap generally has the same maxval as the input image, but -<B>pnmcolormap</B> may reduce it if there are too many colors in the +<p>The colormap generally has the same maxval as the input image, but +<b>pnmcolormap</b> may reduce it if there are too many colors in the input, as part of its quantization algorithm. <p><b>pnmcolormap</b> works on a multi-image input stream. In that @@ -72,77 +72,82 @@ from each image would make the same color in two images map to different colors. Before Netpbm 10.31 (December 2005), <b>pnmcolormap</b> ignored any image after the first. -<P>If you want to create a colormap without basing it on the colors in -an input image, <B>pamseq</B>, <b>ppmmake</b>, and <b>pnmcat</b> can +<p>If you want to create a colormap without basing it on the colors in +an input image, <b>pamseq</b>, <b>ppmmake</b>, and <b>pnmcat</b> can be useful. -<H2 id="parameters">PARAMETERS</H2> +<h2 id="parameters">PARAMETERS</h2> -<P>The single parameter, which is required, is the number of colors you want -in the output colormap. <B>pnmcolormap</B> may produce a color map with -slightly fewer colors than that. You may specify <B>all</B> to get a colormap +<p>The single parameter, which is required, is the number of colors you want +in the output colormap. <b>pnmcolormap</b> may produce a color map with +slightly fewer colors than that. You may specify <b>all</b> to get a colormap of every color in the input image (no quantization). When you specify <b>all</b>, the function is essentially the same as that of <b>ppmhist -map</b>. <b>ppmhist</b> is much older. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<P>All options can be abbreviated to their shortest unique prefix. You +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pnmcolormap</b> recognizes the following +command line options: + +<p>All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value. -<DL COMPACT> -<DT><B>-sort</B> +<dl compact> +<dt><b>-sort</b> -<DD>This option causes the output colormap to be sorted by the red +<dd>This option causes the output colormap to be sorted by the red component intensity, then the green, then the blue in ascending order. This is an insertion sort, so it is not very fast on large colormaps. Sorting is useful because it allows you to compare two sets of colors. -<DT><B>-square</B> +<dt><b>-square</b> -<DD>By default, <B>pnmcolormap</B> produces as the color map a PPM +<dd>By default, <b>pnmcolormap</b> produces as the color map a PPM image with one row and with one column for each color in the colormap. -This option causes <B>pnmcolormap</B> instead to produce a PPM image +This option causes <b>pnmcolormap</b> instead to produce a PPM image that is within one row or column of being square, with the last pixel duplicated as necessary to create a number of pixels which is such an almost-perfect square. -<DT><B>-verbose</B> +<dt><b>-verbose</b> -<DD>This option causes <B>pnmcolormap</B> to display messages to -Standard Error about the quantization. <DT><B>-center</B> +<dd>This option causes <b>pnmcolormap</b> to display messages to +Standard Error about the quantization. <dt><b>-center</b> -<DT><B>-meancolor</B> +<dt><b>-meancolor</b> -<DT><B>-meanpixel</B> +<dt><b>-meanpixel</b> -<DT><B>-spreadbrightness</B> +<dt><b>-spreadbrightness</b> -<DT><B>-spreadluminosity</B> +<dt><b>-spreadluminosity</b> -<DT><B>-splitpixelct</B> +<dt><b>-splitpixelct</b> -<DT><B>-splitcolorct</B> +<dt><b>-splitcolorct</b> -<DT><B>-splitspread</B> +<dt><b>-splitspread</b> -<DD>These options control the quantization algorithm. See <a +<dd>These options control the quantization algorithm. See <a href="#quant">QUANTIZATION METHOD</a>. -</DL> +</dl> -<H2 id="quant">QUANTIZATION METHOD</H2> +<h2 id="quant">QUANTIZATION METHOD</h2> -<P>A quantization method is a way to choose which colors, being fewer +<p>A quantization method is a way to choose which colors, being fewer in number than in the input, you want in the output. -<B>pnmcolormap</B> uses Heckbert's "median cut" quantization +<b>pnmcolormap</b> uses Heckbert's "median cut" quantization method. -<P>This method involves separating all the colors into +<p>This method involves separating all the colors into "boxes," each holding colors that represent about the same number of pixels. You start with one box and split boxes in two until the number of boxes is the same as the number of colors you want in @@ -165,31 +170,31 @@ the output, and choose one color to represent each box. in Netpbm 10.88 (September 2019). Before that, <b>pnmcolormap</b> always splits the box containing the most pixels. -<P>When you split a box, you do it so each sub-box has the same number of +<p>When you split a box, you do it so each sub-box has the same number of pixels (except one sub-box has more if the full box has an odd number), with the "greatest" pixels in one sub-box and the "least" pixels in the other. "Greater," for a particular box, means it is brighter in the color component (red, green, blue) which has the largest spread in that -box. <B>pnmcolormap</B> gives you two ways to define "largest spread.": 1) +box. <b>pnmcolormap</b> gives you two ways to define "largest spread.": 1) largest spread of brightness; 2) largest spread of contribution to the luminosity of the color. E.g. red is weighted much more than blue. Select -among these with the <B>-spreadbrightness</B> and <B>-spreadluminosity</B> -options. The default is <B>-spreadbrightness</B>. Where there are multiple +among these with the <b>-spreadbrightness</b> and <b>-spreadluminosity</b> +options. The default is <b>-spreadbrightness</b>. Where there are multiple colors of the median magnitude, they are distributed arbitrarily among between the subboxes. This arbitrary distribution depends upon what the system's <b>qsort</b> function does with multiple equal values, so <b>pnmcolormap</b> may produce slightly different results on different systems. -<P><B>pnmcolormap</B> provides three ways of choosing a color to represent a +<p><b>pnmcolormap</b> provides three ways of choosing a color to represent a box: 1) the center color - the color halfway between the greatest and least colors in the box, using the above definition of "greater"; 2) the mean of the colors (each component averaged separately by brightness) in the box; 3) the mean weighted by the number of pixels of a color in the image. -<P>Select among these with the <B>-center</B>, <B>-meancolor</B>, and -<B>-meanpixel</B> options. The default is <B>-center</B>. +<p>Select among these with the <b>-center</b>, <b>-meancolor</b>, and +<b>-meanpixel</b> options. The default is <b>-center</b>. -<P>Note that in all three methods, there may be colors in the output +<p>Note that in all three methods, there may be colors in the output which do not appear in the input at all. <p>Also note that the color chosen to represent the colors in Box A the best @@ -203,27 +208,27 @@ and in fact the color <b>pnmcolormap</b> chose to represent Box B may not appear in the <b>pnmremap</b> output at all. -<H2 id="references">REFERENCES</H2> +<h2 id="references">REFERENCES</h2> "Color Image Quantization for Frame Buffer Display" by Paul Heckbert, SIGGRAPH '82 Proceedings, page 297. -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<B><A HREF="pnmremap.html">pnmremap</A></B>, -<B><A HREF="pnmquant.html">pnmquant</A></B>, -<B><A HREF="ppmquantall.html">ppmquantall</A></B>, -<B><A HREF="pamgetcolor.html">pamgetcolor</A></B>, -<B><A HREF="pamdepth.html">pamdepth</A></B>, -<B><A HREF="ppmdither.html">ppmdither</A></B>, -<B><A HREF="pamseq.html">pamseq</A></B>, -<B><A HREF="ppmmake.html">ppmmake</A></B>, -<B><A HREF="pnmcat.html">pnmcat</A></B>, -<B><A HREF="ppm.html">ppm</A></B> +<b><a href="pnmremap.html">pnmremap</a></b>, +<b><a href="pnmquant.html">pnmquant</a></b>, +<b><a href="ppmquantall.html">ppmquantall</a></b>, +<b><a href="pamgetcolor.html">pamgetcolor</a></b>, +<b><a href="pamdepth.html">pamdepth</a></b>, +<b><a href="ppmdither.html">ppmdither</a></b>, +<b><a href="pamseq.html">pamseq</a></b>, +<b><a href="ppmmake.html">ppmmake</a></b>, +<b><a href="pnmcat.html">pnmcat</a></b>, +<b><a href="ppm.html">ppm</a></b> -<H2 id="history">HISTORY</H2> +<h2 id="history">HISTORY</h2> -<P>Before Netpbm 10.15 (April 2003), <b>pnmcolormap</b> used a lot +<p>Before Netpbm 10.15 (April 2003), <b>pnmcolormap</b> used a lot more memory for large images because it kept the entire input image in memory. Now, it processes it a row at a time, but because it sometimes must make multiple passes through the image, it first copies @@ -239,23 +244,23 @@ Netpbm 9.23 split it out into two separate programs: <b>pnmquant</b> with a program that simply calls <b>pnmcolormap</b> and <b>pnmremap</b>. -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> Copyright (C) 1989, 1991 by Jef Poskanzer. -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#parameters">PARAMETERS</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#quant">QUANTIZATION METHOD</A> -<LI><A HREF="#references">REFERENCES</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#history">HISTORY</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#parameters">PARAMETERS</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#quant">QUANTIZATION METHOD</a> +<li><a href="#references">REFERENCES</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/pnmcomp.html b/pnmcomp.html index 510d646c..f35b9cb4 100644 --- a/pnmcomp.html +++ b/pnmcomp.html @@ -1,17 +1,15 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pnmcomp User Manual</TITLE></HEAD> -<BODY> -<H1>pnmcomp</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pnmcomp User Manual</title></head> +<body> +<h1>pnmcomp</h1> Updated: 02 August 2014 -<BR> -<A HREF="#index">Table Of Contents</A> -<H2>NAME</H2> +<h2>NAME</h2> -<B>pnmcomp</B> - replaced by pamcomp +<b>pnmcomp</b> - replaced by pamcomp -<H2>DESCRIPTION</H2> +<h2>DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -29,8 +27,5 @@ its age. But now it would just be clutter. <b>pnmcomp</b>. Features that are in <b>pamcomp</b> but not <b>pnmcomp</b> are indicated by statements that they didn't exist before 10.21. -</BODY> -</HTML> - - - +</body> +</html> diff --git a/pnmnorm.html b/pnmnorm.html index 17af3f4c..566964b1 100644 --- a/pnmnorm.html +++ b/pnmnorm.html @@ -1,22 +1,22 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pnmnorm User Manual</TITLE></HEAD> -<BODY> -<H1>pnmnorm</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pnmnorm User Manual</title></head> +<body> +<h1>pnmnorm</h1> Updated: 19 December 2014 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pnmnorm - normalize the contrast in a Netpbm image -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pnmnorm</B> +<b>pnmnorm</b> -[<B>-bpercent=</B><I>percent</I> | <B>-bvalue=</B><I>N</I> | <b>-bsingle</b>] +[<b>-bpercent=</b><i>percent</i> | <b>-bvalue=</b><i>N</i> | <b>-bsingle</b>] -[<B>-wpercent=</B><I>percent</I> | <B>-wvalue=</B><I>N</I> | <b>-wsingle</b>] +[<b>-wpercent=</b><i>percent</i> | <b>-wvalue=</b><i>N</i> | <b>-wsingle</b>] [<b>-midvalue=</b><i>N</i>] @@ -24,19 +24,19 @@ pnmnorm - normalize the contrast in a Netpbm image [<b>-maxexpand=</b><i>percent</i>] -[<B>-keephues</B>] +[<b>-keephues</b>] -[<B>-luminosity</B> | <B>-colorvalue</B> | <B>-saturation</B>] +[<b>-luminosity</b> | <b>-colorvalue</b> | <b>-saturation</b>] -[<I>ppmfile</I>] +[<i>ppmfile</i>] -<P>All options can be abbreviated to their shortest unique prefix. +<p>All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -53,11 +53,11 @@ becomes black, the brightness that becomes white, and the brightness that becomes that middle value, <b>pnmnorm</b> computes a quadratic equation that maps all the other brightnesses from input values to output values. -<P>The program first determines a mapping of old brightness to new +<p>The program first determines a mapping of old brightness to new brightness. For each possible brightness of a pixel, the program determines a corresponding brightness for the output image. -<P>Then for each pixel in the image, the program computes a color which has +<p>Then for each pixel in the image, the program computes a color which has the desired output brightness and puts that in the output. With a color image, it is not always possible to compute such a color and retain any semblance of the original hue, so the brightest and dimmest pixels may only @@ -74,7 +74,7 @@ In the case of saturation, "brightness" is pretty much a misnomer, but you can use the brightness analogy to see what it does. In the analogy, bright means saturated and dark means unsaturated. -<P>Note that all of these are different from separately normalizing +<p>Note that all of these are different from separately normalizing the individual color components. <p>An alternative way to spread out the brightnesses in an image is @@ -86,26 +86,38 @@ gives you more contrast than <b>pnmnorm</b> does, but can considerably change the picture in exchange. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<P>By default, the darkest 2 percent of all pixels are mapped to +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pnmnorm</b> recognizes the following +command line options: + +<p>By default, the darkest 2 percent of all pixels are mapped to black, and the brightest 1 percent are mapped to white. You can override this behavior and specify either a different percentage, or specific brightness values to map to black and to white, or just have the single greatest brightness map to white and the least brightness map to black. -<p>To specify a percentage, use the <B>-bpercent</B> and -<B>-wpercent</B> options, or you can specify the exact pixel values to -be mapped by using the <B>-bvalue</B> and <B>-wvalue</B> options. +<dl compact> +<dt><b>-bpercent</b> +<dt><b>-wpercent</b> +<dt><b>-bvalue</b> +<dt><b>-wvalue</b> + +<dd> +<p>To specify a percentage, use the <b>-bpercent</b> and +<b>-wpercent</b> options, or you can specify the exact pixel values to +be mapped by using the <b>-bvalue</b> and <b>-wvalue</b> options. You can get appropriate numbers for the options from <b>ppmhist</b>. If you just want to enhance the contrast, then choose values at elbows in the histogram; e.g. if value 29 represents 3% of the image but value 30 represents 20%, choose 30 for -<I>bvalue</I>. If you want to brighten the image, then set -<I>bvalue</I> to 0 and just fiddle with <I>wvalue</I>; similarly, to -darken the image, set <I>wvalue</I> to maxval and play with -<I>bvalue</I>. +<i>bvalue</i>. If you want to brighten the image, then set +<i>bvalue</i> to 0 and just fiddle with <i>wvalue</i>; similarly, to +darken the image, set <i>wvalue</i> to maxval and play with +<i>bvalue</i>. <p>If you specify both <b>-bvalue</b> and <b>-bpercent</b>, <b>pnmnorm</b> uses the one that produces the least change. The same goes for @@ -134,7 +146,7 @@ In that case, <b>pnmnorm</b> adjusts the percentile value as required. In the example, it uses 99 as the black value (like <b>-bvalue=99</b>). -<P>It is also possible for your <b>-bpercent</b> and <b>-wpercent</b> +<p>It is also possible for your <b>-bpercent</b> and <b>-wpercent</b> options to select the same brightness value for the stretch-to-white and stretch-to-black value because of the fact that <b>pnmnorm</b> can't subdivide a histogram cell. E.g. if an image is all brightness @@ -156,12 +168,17 @@ range expansion of 150% (from a range of 40 to a range of 100). That much stretching means two adjacent pixels that used to differ in intensity by 4 units now differ by 10, and that might be unsightly. +<dt><b>-bsingle</b> +<dd> <p>To specify that the single least brightness in the image should stretch to black in the output, specify <b>-bsingle</b>. To specify that the single greatest brightness in the image should stretch to white in the output, specify <b>-wsingle</b>. <b>-bsingle</b> and <b>-wsingle</b> were new in Netpbm 10.69 (December 2014). +<dt><b>-maxexpand</b> +<dd> + <p>So that you can put a limit on the amount of expansion without having to examine the image first, there is the <b>-maxexpand</b> option. It specifies the maximum expansion you will tolerate, as an @@ -176,18 +193,18 @@ amount you specified. <p>When <b>pnmnorm</b> limits the expansion because of <b>-maxexpand</b>, it tells you about it with a message like this: <pre> -<tt> +<span style="font-family: monospace"> limiting expansion of 150% to 50% -</tt> +</span> </pre> <p>In any case, <b>pnmnorm</b> tells you exactly what expansion it's doing, like this: <pre> -<tt> +<span style="font-family: monospace"> remapping 25..75 to 0..100 -</tt> +</span> </pre> <p>Before Netpbm 10.26 (December 2004), it was not valid to specify both @@ -195,19 +212,26 @@ doing, like this: <p><b>-maxexpand</b> was new in Netpbm 10.32 (February 2006). -<P>The <B>-keephues</B> option says to keep each pixel the same hue as +<dt><b>-keephues</b> +<dd> + +<p>This option says to keep each pixel the same hue as it is in the input; just adjust its brightness. You normally want this; the only reason it is not the default behavior is backward compatibility with a design mistake. -<p>By default, <B>pnmnorm</B> normalizes contrast in each component -independently (except that the meaning of the <B>-wpercent</B> and -<B>-bpercent</B> options are based on the overall brightnesses of the +<p>By default, <b>pnmnorm</b> normalizes contrast in each component +independently (except that the meaning of the <b>-wpercent</b> and +<b>-bpercent</b> options are based on the overall brightnesses of the colors, not each component taken separately). So if you have a color -which is intensely red but dimly green, <B>pnmnorm</B> would make the +which is intensely red but dimly green, <b>pnmnorm</b> would make the red more intense and the green less intense, so you end up with a different hue than you started with. +<dt><b>-midvalue=</b><i>N</i> +<dt><b>-middle=</b><i>N</i> +<dd> + <p>When you specify <b>-midvalue=</b><i>N</i>, <b>pnmnorm</b> uses a quadratic function to map old brightnesses to new ones, making sure that an old brightness of <i>N</i> becomes 50% bright in the output. You can override @@ -220,16 +244,16 @@ fit), <b>pnmnorm</b> just ignores your <b>-midvalue</b> and maps linearly. <b>-midvalue</b> and <b>-middle</b> were new in Netpbm 10.57 (December 2011). -<P>If you specify <B>-keephues</B>, <B>pnmnorm</B> would likely leave +<p>If you specify <b>-keephues</b>, <b>pnmnorm</b> would likely leave this pixel alone, since its overall brightness is medium. -<P><B>-keephues</B> can cause clipping, because a certain color may be +<p><b>-keephues</b> can cause clipping, because a certain color may be below a target intensity while one of its components is saturated. -Where that's the case, <B>pnmnorm</B> uses the maximum representable +Where that's the case, <b>pnmnorm</b> uses the maximum representable intensity for the saturated component and the pixel ends up with less overall intensity, and a different hue, than it is supposed to have. -<P>This option is meaningless on grayscale images. +<p>This option is meaningless on grayscale images. <p>When you <em>don't</em> specify <b>-keephues</b>, the <b>-luminosity</b>, <b>-colorvalue</b>, and <b>-saturation</b> options @@ -238,13 +262,17 @@ components), but are meaningless when it comes to applying the transfer function (since it is applied to each individual RGB component). -<P>Before Netpbm 9.25 (March 2002), there was no <B>-keephues</B> option. +<p>Before Netpbm 9.25 (March 2002), there was no <b>-keephues</b> option. +<dt><b>-luminosity</b> +<dt><b>-colorvalue</b> +<dt><b>-saturation</b> +<dd> <p><b>-luminosity</b>, <b>-colorvalue</b>, and <b>-saturation</b> determine what property of the pixels <b>pnmnorm</b> normalizes. I.e., what kind of brightness. You cannot specify more than one of these. -<P>The <B>-luminosity</B> option says to use the luminosity (i.e. the +<p>The <b>-luminosity</b> option says to use the luminosity (i.e. the "Y" in the YUV or YCbCr color space) as the pixel's brightness. The luminosity is a measure of how bright a human eye would find the color, taking into account the fact that the human eye is more sensitive to some @@ -252,21 +280,21 @@ RGB components than others. <p>This option is default. -<P>This option is meaningless on grayscale images. +<p>This option is meaningless on grayscale images. -<P>Before Netpbm 10.28 (August 2005), there was no <B>-luminosity</B> option, +<p>Before Netpbm 10.28 (August 2005), there was no <b>-luminosity</b> option, but its meaning was still the default. -<P>Before Netpbm 10.28 (August 2005), there was no <B>-colorvalue</B> option. +<p>Before Netpbm 10.28 (August 2005), there was no <b>-colorvalue</b> option. -<P>The <B>-colorvalue</B> option says to use the color value (i.e. the +<p>The <b>-colorvalue</b> option says to use the color value (i.e. the "V" in the HSV color space) as the pixel's brightness. The color value is the gamma-adjusted intensity of the most intense RGB component. -<P>This option is meaningless on grayscale images. +<p>This option is meaningless on grayscale images. -<P>Before Netpbm 10.28 (August 2005), there was no <B>-colorvalue</B> option. +<p>Before Netpbm 10.28 (August 2005), there was no <b>-colorvalue</b> option. <p>The <b>-saturation</b> option says to use the saturation (i.e. the "S" in the HSV color space) as the pixel's brightness. The @@ -279,28 +307,28 @@ intense RGB component (all intensities gamma-adjusted). <p>This option is meaningless on grayscale images. -<P>Before Netpbm 10.28 (August 2005), there was no <B>-colorvalue</B> option. - - - -<H2 id="seealso">SEE ALSO</H2> - -<B><A HREF="pnmhisteq.html">pnmhisteq</A></B>, -<B><A HREF="pamlevele.html">pamlevels</A></B>, -<B><A HREF="ppmhist.html">ppmhist</A></B>, -<B><A HREF="pgmhist.html">pgmhist</A></B>, -<B><A HREF="pambrighten.html">pambrighten</A></B>, -<B><A HREF="ppmdim.html">ppmdim</A></B>, -<B><A HREF="pnmgamma.html">pnmgamma</A></B>, -<B><A HREF="pnm.html">pnm</A></B> - -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -</UL> -</BODY> -</HTML> +<p>Before Netpbm 10.28 (August 2005), there was no <b>-colorvalue</b> option. + +</dl> + +<h2 id="seealso">SEE ALSO</h2> + +<b><a href="pnmhisteq.html">pnmhisteq</a></b>, +<b><a href="pamlevels.html">pamlevels</a></b>, +<b><a href="ppmhist.html">ppmhist</a></b>, +<b><a href="pgmhist.html">pgmhist</a></b>, +<b><a href="pambrighten.html">pambrighten</a></b>, +<b><a href="ppmdim.html">ppmdim</a></b>, +<b><a href="pnmgamma.html">pnmgamma</a></b>, +<b><a href="pnm.html">pnm</a></b> + +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +</ul> +</body> +</html> diff --git a/pnmpad.html b/pnmpad.html index 5b9208b4..7847a502 100644 --- a/pnmpad.html +++ b/pnmpad.html @@ -193,8 +193,9 @@ This causes verbose messages. <pre> <kbd> - pad=($(pnmpad -reportonly -left=10 -right=10 -top=10 -bottom=10)) - pbmmake -gray 10 10 | pnmpaste input.ppm ${pad[0]} ${pad[2]} - + pad=($(pnmpad -reportonly -left=10 -right=10 -top=10 -bottom=10 input.ppm)) + pbmmake -gray ${pad[4]} ${pad[5]} | \ + pnmpaste input.ppm ${pad[0]} ${pad[2]} - </kbd> </pre> diff --git a/pnmpaste.html b/pnmpaste.html index 8342965e..92b6672b 100644 --- a/pnmpaste.html +++ b/pnmpaste.html @@ -1,27 +1,28 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pnmpaste User Manual</TITLE></HEAD> -<BODY> -<H1>pnmpaste</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pnmpaste User Manual</title></head> +<body> +<h1>pnmpaste</h1> Updated: 16 December 2018 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pnmpaste - paste a rectangle into a PNM image -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pnmpaste</B> +<b>pnmpaste</b> -[<B>-replace</B>|<B>-or</B>|<B>-and</B>|<B>-xor</B>] +[<b>-replace</b> | <b>-or</b> | <b>-and</b> | <b>-xor</b> | +<b>-nor</b> | <b>-nand</b> | <b>-nxor</b>] -<I>frompnmfile</i> <i>x</i> <i>y</I> -[<I>intopnmfile</I>] +<i>frompnmfile</i> <i>x</i> <i>y</i> +[<i>intopnmfile</i>] -<P>You can abbreviate all options to their shortest unique prefix. +<p>You can abbreviate all options to their shortest unique prefix. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -42,28 +43,37 @@ edge or below the top edge of the base image, while a negative value indicates the number of pixels right of the right edge or below the bottom edge (so x = -5 means 5 pixels left of the right edge). -<P>If any part of the pasted image does not fit within the base image, +<p>If any part of the pasted image does not fit within the base image, <b>pnmpaste</b> fails. -<p>This tool is most useful in combination with <I>pamcut</I>. For +<p>This tool is most useful in combination with <i>pamcut</i>. For instance, if you want to edit a small segment of a large image, and your image editor cannot edit the large image, you can cut out the segment you are interested in, edit it, and then paste it back in. -<P>Another useful companion tool is <B>pbmmask</B>. +<p>Another useful companion tool is <b>pbmmask</b>. -<P><B>pamcomp</B> is a more general tool, except that it lacks the +<p><b>pamcomp</b> is a more general tool, except that it lacks the "or," "and," and "xor" functions. -<B>pamcomp</B> allows you to specify a transparency mask in order to have +<b>pamcomp</b> allows you to specify a transparency mask in order to have only part of the inserted image get inserted. So the inserted pixels need not be a rectangle. You can also have the inserted image be translucent, so the resulting image is a mixture of the inserted image and the base image. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<P>The option specifies the operation to use when doing the paste. -The default is <B>-replace</B>, which means to do the obvious paste: +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pnmpaste</b> recognizes the following +command line options: + +<dl compact> +<dt><b>-replace</b>, <b>-or</b>, <b>-and</b>, <b>-xor</b>, +<b>-nor</b>, <b>-nand</b>, <b>-nxor</b> +<dd> +<p>These option specify the operation to use when doing the paste. +The default is <b>-replace</b>, which means to do the obvious paste: replace pixels of the "into" image with those of the "from" image. @@ -71,8 +81,8 @@ replace pixels of the "into" image with those of the and <b>nxor</b> are allowed only if both input images are PBM images. They say to combine the "from" and "into" images by performing boolean operations: Each pixel of the output image is the result of the boolean operation on the -corresponding pixels of the two input image, where white is TRUE and black is -FALSE. +corresponding pixels of the two input images, where white is TRUE and black +is FALSE. <p>Note that this is different from what you would get by doing a bit arithmetic on the bits in the PBM images, because in PBM, white is @@ -81,30 +91,31 @@ in boolean arithmetic. <p><b>-nand</b>, <b>-nor</b>, and <b>-nxor</b> were new in Netpbm 10.85 (December 2018). + +</dl> - -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<B><A HREF="pamcomp.html">pamcomp</A></B>, -<B><A HREF="pamcut.html">pamcut</A></B>, -<B><A HREF="pnminvert.html">pnminvert</A></B>, -<B><A HREF="pnmarith.html">pnmarith</A></B>, -<B><A HREF="pbmmask.html">pbmmask</A></B>, -<B><A HREF="pnm.html">pnm</A></B> +<b><a href="pamcomp.html">pamcomp</a></b>, +<b><a href="pamcut.html">pamcut</a></b>, +<b><a href="pnminvert.html">pnminvert</a></b>, +<b><a href="pnmarith.html">pnmarith</a></b>, +<b><a href="pbmmask.html">pbmmask</a></b>, +<b><a href="pnm.html">pnm</a></b> -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> Copyright (C) 1989, 1991 by Jef Poskanzer. -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/pnmquantall.html b/pnmquantall.html index 389d87ea..fe2cfdbf 100644 --- a/pnmquantall.html +++ b/pnmquantall.html @@ -55,16 +55,18 @@ it gives you access to the various options of <b>pnmcolormap</b> and <h2 id="options">OPTIONS</h2> -<p>In addition to the options common to all programs based on libnetpbm -(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> -Common Options</a>), <b>pnmquantall</b> recognizes the following -command line option: +<p><b>pnmquantall</b> recognizes the following command line option: <dl compact> <dt><b>-ext</b> <i>extension</i> -<dd>Specify an extension for the output files. By default the input files are overwritten. +<dd>Specify an extension for the output files. By default the input files +are overwritten. </dl> +<p><b>pnmquantall</b> does not recognize the options common to all +programs based on libnetpbm (See <a href="index.html#commonoptions"> +Common Options</a>.) However, the <b>-version</b> option works. + <h2 id="seealso">SEE ALSO</h2> <b><a href="pnmquant.html">pnmquant</a></b>, diff --git a/pnmscale.html b/pnmscale.html index f14903cc..9d86609c 100644 --- a/pnmscale.html +++ b/pnmscale.html @@ -1,17 +1,15 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pnmscale User Manual</TITLE></HEAD> -<BODY> -<H1>pnmscale</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pnmscale User Manual</title></head> +<body> +<h1>pnmscale</h1> Updated: 02 February 2009 -<BR> -<A HREF="#index">Table Of Contents</A> -<H2>NAME</H2> +<h2>NAME</h2> -<B>pnmscale</B> - replaced by pamscale +<b>pnmscale</b> - replaced by pamscale -<H2>DESCRIPTION</H2> +<h2>DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -29,8 +27,8 @@ its age. But now it would just be clutter. <b>pnmscale</b>. Features that are in <b>pamscale</b> but not <b>pnmscale</b> are indicated by statements that they didn't exist before 10.20. -</BODY> -</HTML> +</body> +</html> diff --git a/pnmtojbig.html b/pnmtojbig.html index c62b3393..f4a18a2e 100644 --- a/pnmtojbig.html +++ b/pnmtojbig.html @@ -108,17 +108,16 @@ approximately 35 stripes will be used for the whole image. <dt><b>-m</b> <i>number</i> -<dd>Select the maximum horizontal offset of the adaptive template -pixel. The JBIG encoder uses a number of neighbour pixels in order to -get statistical a priori knowledge of the probability, whether the -next pixel will be black or white. One single pixel out of this -template of context neighbor pixels can be moved around. Especially -for dithered images it can be a significant advantage to have one -neighbor pixel which has a distance large enough to cover the period -of a dither function. By default, the adaptive template pixel can be -moved up to 8 pixels away. This encoder supports up to 23 pixels, -however as decoders are only required to support at least a distance -of 16 pixels by the standard, no higher value than 16 for +<dd>Select the maximum horizontal offset of the adaptive template pixel. The +JBIG encoder uses a number of neighbour pixels in order to get statistical a +priori knowledge of the probability, whether the next pixel will be black or +white. One single pixel out of this template of context neighbor pixels can +be moved around. Especially for dithered images it can be a significant +advantage to have one neighbor pixel which has a distance large enough to +cover the period of a dither function. By default, the adaptive template +pixel can be moved up to 8 pixels away. This encoder go up to 23 pixels, +however as decoders are only required to handle at least a distance of 16 +pixels by the standard, no higher value than 16 for <i>number</i> is recommended in order to maintain interoperability with other JBIG implementations. The maximal vertical offset of the adaptive template pixel is always zero. diff --git a/pnmtojpeg.html b/pnmtojpeg.html index 07f61ea7..b4b842f7 100644 --- a/pnmtojpeg.html +++ b/pnmtojpeg.html @@ -1,111 +1,116 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Pnmtojpeg User Manual</TITLE></HEAD> -<BODY> -<H1>PNMTOJPEG</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pnmtojpeg User Manual</title></head> +<body> +<h1>pnmtojpeg</h1> Updated: 23 April 2007 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pnmtojpeg - convert PNM image to a JFIF ("JPEG") image -<H2 id="synopsis">SYNOPSIS</H2> - -<B>pnmtojpeg</B> -[<B>-exif=</B><I>filespec</I>] -[<B>-quality=</B><I>n</I>] -[{<B>-grayscale</B>|<B>-greyscale</B>}] -[<B>-density=</B><I>n</I><b>x</b><i>n</i>[<b>dpi</b>,<b>dpcm</b>]] -[<B>-optimize</B>|<b>-optimise</b>] -[<B>-rgb</B>] -[<B>-progressive</B>] -[<B>-comment=</B><I>text</I>] -[<B>-dct=</b>{<b>int</B>|<b>fast</b>|<b>float</b>}] -[<B>-arithmetic</b>] -[<B>-restart=</B><I>n</I>] -[<B>-smooth=</B><I>n</I>] -[<B>-maxmemory=</B><I>n</I>] -[<B>-verbose</B>] -[<B>-baseline</B>] -[<B>-qtables=</B><I>filespec</I>] -[<B>-qslots=n[,...]</B>] -[<B>-sample=</B><I>H</i><b>x</b><i>V</i>[,...]] -[<B>-scans=</B><I>filespec</I>] -[<B>-tracelevel=</b><i>N</i>] - -<I>filename</I> +<h2 id="synopsis">SYNOPSIS</h2> + +<b>pnmtojpeg</b> +[<b>-exif=</b><i>filespec</i>] +[<b>-quality=</b><i>n</i>] +[{<b>-grayscale</b>|<b>-greyscale</b>}] +[<b>-density=</b><i>n</i><b>x</b><i>n</i>[<b>dpi</b>,<b>dpcm</b>]] +[<b>-optimize</b>|<b>-optimise</b>] +[<b>-rgb</b>] +[<b>-progressive</b>] +[<b>-comment=</b><i>text</i>] +[<b>-dct=</b>{<b>int</b>|<b>fast</b>|<b>float</b>}] +[<b>-arithmetic</b>] +[<b>-restart=</b><i>n</i>] +[<b>-smooth=</b><i>n</i>] +[<b>-maxmemory=</b><i>n</i>] +[<b>-verbose</b>] +[<b>-baseline</b>] +[<b>-qtables=</b><i>filespec</i>] +[<b>-qslots=n[,...]</b>] +[<b>-sample=</b><i>H</i><b>x</b><i>V</i>[,...]] +[<b>-scans=</b><i>filespec</i>] +[<b>-tracelevel=</b><i>N</i>] + +<i>filename</i> <p>Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. -<p><B>pnmtojpeg</B> converts the named PBM, PGM, or PPM image file, or +<p><b>pnmtojpeg</b> converts the named PBM, PGM, or PPM image file, or the standard input if no file is named, to a JFIF file on the standard output. -<P><B>pnmtojpeg</B> uses the Independent JPEG Group's JPEG library to -create the output file. See <B><A -HREF="http://www.ijg.org">http://www.ijg.org</A> </B> for information +<p><b>pnmtojpeg</b> uses the Independent JPEG Group's JPEG library to +create the output file. See <b><a +href="http://www.ijg.org">http://www.ijg.org</a> </b> for information on the library. -<P>"JFIF" is the correct name for the image format commonly +<p>"JFIF" is the correct name for the image format commonly known as "JPEG." Strictly speaking, JPEG is a method of compression. The image format using JPEG compression that is by far the most common is JFIF. There is also a subformat of TIFF that uses JPEG compression. -<P>EXIF is an image format that is a subformat of JFIF (to wit, a JFIF +<p>EXIF is an image format that is a subformat of JFIF (to wit, a JFIF file that contains an EXIF header as an APP1 marker). -<B>pnmtojpeg</B> creates an EXIF image when you specify the -<B>-exif</B> option. +<b>pnmtojpeg</b> creates an EXIF image when you specify the +<b>-exif</b> option. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<p>The basic options are: +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pnmtojpeg</b> recognizes the following +command line options: -<DL COMPACT> -<DT><B>-exif=</B><I>filespec</I> +<h3 id="basicopts">Basic Options</h3> -<DD> +<dl compact> +<dt><b>-exif=</b><i>filespec</i> + +<dd> This option specifies that the output image is to be EXIF (a subformat of JFIF), i.e. it will have an EXIF header as a JFIF APP1 marker. The contents of that marker are the contents of the specified file. -The special value <B>-</B> +The special value <b>-</b> means to read the EXIF header contents from standard input. It is invalid to specify standard input for both the EXIF header and the input image. -<P> +<p> The EXIF file starts with a two byte field which is the length of the file, including the length field, in pure binary, most significant byte first. The special value of zero for the length field means there -is to be no EXIF header, i.e. the same as no <B>-exif</B> +is to be no EXIF header, i.e. the same as no <b>-exif</b> option. This is useful for when you convert a file from JFIF to PNM -using <B>jpegtopnm</B>, +using <b>jpegtopnm</b>, then transform it, then convert it back to JFIF with -<B>pnmtojpeg</B>, and you don't know whether or not it includes an EXIF header. -<B>jpegtopnm</B> +<b>pnmtojpeg</b>, and you don't know whether or not it includes an EXIF header. +<b>jpegtopnm</b> creates an EXIF file containing nothing but two bytes of zero when the input JFIF file has no EXIF header. Thus, you can transfer any EXIF header from the input JFIF to the output JFIF without worrying about whether an EXIF header actually exists. -<P> +<p> The contents of the EXIF file after the length field are the exact byte for byte contents of the APP1 marker, not counting the length field, that constitutes the EXIF header. -<DT><B>-quality=</B><I>n</I> +<dt><b>-quality=</b><i>n</i> -<DD>Scale quantization tables to adjust image quality. <I>n</I> is 0 +<dd>Scale quantization tables to adjust image quality. <i>n</i> is 0 (worst) to 100 (best); default is 75. Below about 25 can produce images some interpreters won't be able to interpret. See below for more info. -<DT><B>-grayscale</B> -<DT><B>-greyscale</B> +<dt><b>-grayscale</b> +<dt><b>-greyscale</b> <dt><b>-rgb</b> <dd>These options determine the color space used in the JFIF output. @@ -129,7 +134,7 @@ The extra CPU time probably indicates that processing of all the extra compressed data consumed all the CPU time saved by not having to convert the RGB inputs to YCbCr. -<P>Grayscale format takes up a lot less space and takes less time to create +<p>Grayscale format takes up a lot less space and takes less time to create and process than the color formats, even if the image contains nothing but black, white, and gray. @@ -173,30 +178,30 @@ image. <b>pnmtojpeg</b> always created a JFIF with a density of 1x1 in unspecified units. -<DT><B>-optimize</B> +<dt><b>-optimize</b> -<DD> Perform optimization of entropy encoding parameters. Without -this, <B>pnmtojpeg</B> uses default encoding parameters. -<B>-optimize</B> usually makes the JFIF file a little smaller, but -<B>pnmtojpeg</B> runs somewhat slower and needs much more memory. +<dd> Perform optimization of entropy encoding parameters. Without +this, <b>pnmtojpeg</b> uses default encoding parameters. +<b>-optimize</b> usually makes the JFIF file a little smaller, but +<b>pnmtojpeg</b> runs somewhat slower and needs much more memory. Image quality and speed of decompression are unaffected by -<B>-optimize</B>. +<b>-optimize</b>. -<DT><B>-progressive</B> +<dt><b>-progressive</b> -<DD> +<dd> Create a progressive JPEG file (see below). -<DT><B>-comment=</B><I>text</I> +<dt><b>-comment=</b><i>text</i> -<DD> +<dd> Include a comment marker in the JFIF output, with comment text -<I>text</I>. +<i>text</i>. Without this option, there are no comment markers in the output. -</DL> +</dl> -<P>The <B>-quality</B> option lets you trade off compressed file size +<p>The <b>-quality</b> option lets you trade off compressed file size against quality of the reconstructed image: the higher the quality setting, the larger the JFIF file, and the closer the output image will be to the original input. Normally you want to use the lowest @@ -204,11 +209,11 @@ quality setting (smallest file) that decompresses into something visually indistinguishable from the original image. For this purpose the quality setting should be between 50 and 95 for reasonable results; the default of 75 is often about right. If you see defects -at <B>-quality=75</B>, then go up 5 or 10 counts at a time until you +at <b>-quality=75</b>, then go up 5 or 10 counts at a time until you are happy with the output image. (The optimal setting will vary from one image to another.) -<p><B>-quality=100</B> generates a quantization table of all 1's, +<p><b>-quality=100</b> generates a quantization table of all 1's, minimizing loss in the quantization step (but there is still information loss in subsampling, as well as roundoff error). This setting is mainly of interest for experimental purposes. Quality @@ -216,18 +221,18 @@ values above about 95 are <em>not</em> recommended for normal use; the compressed file size goes up dramatically for hardly any gain in output image quality. -<P>In the other direction, quality values below 50 will produce very +<p>In the other direction, quality values below 50 will produce very small files of low image quality. Settings around 5 to 10 might be useful in preparing an index of a large image library, for example. -Try <B>-quality=2</B> (or so) for some amusing Cubist effects. (Note: +Try <b>-quality=2</b> (or so) for some amusing Cubist effects. (Note: quality values below about 25 generate 2-byte quantization tables, -which are considered optional in the JFIF standard. <B>pnmtojpeg</B> +which are considered optional in the JFIF standard. <b>pnmtojpeg</b> emits a warning message when you give such a quality value, because some other JFIF programs may be unable to decode the resulting file. -Use <B>-baseline</B> if you need to ensure compatibility at low +Use <b>-baseline</b> if you need to ensure compatibility at low quality values.) -<P>The <B>-progressive</B> option creates a "progressive +<p>The <b>-progressive</b> option creates a "progressive JPEG" file. In this type of JFIF file, the data is stored in multiple scans of increasing quality. If the file is being transmitted over a slow communications link, the decoder can use the @@ -245,27 +250,28 @@ JPEG file at all. might consider the JPEG2000 format instead. See <a href="pamtojpeg2k.html">pamtojpeg2k</a>. -<p>Options for advanced users: -<DL COMPACT> +<h3 id="advancedopts">Advanced options</h3> + +<dl compact> -<DT><B>-dct=int</B> +<dt><b>-dct=int</b> -<DD>Use integer DCT method (default). +<dd>Use integer DCT method (default). -<DT><B>-dct=fast</B> +<dt><b>-dct=fast</b> -<DD>Use fast integer DCT (less accurate). +<dd>Use fast integer DCT (less accurate). -<DT><B>-dct=float</B> +<dt><b>-dct=float</b> -<DD>Use floating-point DCT method. The float method is very slightly +<dd>Use floating-point DCT method. The float method is very slightly more accurate than the int method, but is much slower unless your machine has very fast floating-point hardware. Also note that results of the floating-point method may vary slightly across machines, while the integer methods should give the same results everywhere. The fast integer method is much less accurate than the other two. -<DT><B>-arithmetic</b> +<dt><b>-arithmetic</b> <dd>Use arithmetic coding. Default is Huffman encoding. Arithmetic coding tends to get you a smaller result. @@ -286,111 +292,111 @@ with the message, "Sorry, there are legal restrictions on arithmetic coding" or "Sorry, arithmetic coding not supported," this is the problem. -<DT><B>-restart=</B><I>n</I> +<dt><b>-restart=</b><i>n</i> -<DD> -Emit a JPEG restart marker every <I>n</I> MCU rows, or every <I>n</I> -MCU blocks if you append <B>B</B> to the number. <B>-restart 0</B> +<dd> +Emit a JPEG restart marker every <i>n</i> MCU rows, or every <i>n</i> +MCU blocks if you append <b>B</b> to the number. <b>-restart 0</b> (the default) means no restart markers. -<DT><B>-smooth=</B><I>n</I> +<dt><b>-smooth=</b><i>n</i> -<DD> -Smooth the input image to eliminate dithering noise. <I>n</I>, +<dd> +Smooth the input image to eliminate dithering noise. <i>n</i>, ranging from 1 to 100, indicates the strength of smoothing. 0 (the default) means no smoothing. -<DT><B>-maxmemory=</B><I>n</I> +<dt><b>-maxmemory=</b><i>n</i> -<DD> +<dd> Set a limit for amount of memory to use in processing large images. Value is in thousands of bytes, or millions of bytes if you append -<B>M</B> to the number. For example, <B>-max=4m</B> -selects 4,000,000 bytes. If <B>pnmtojpeg</B> +<b>M</b> to the number. For example, <b>-max=4m</b> +selects 4,000,000 bytes. If <b>pnmtojpeg</b> needs more space, it will use temporary files. -<DT><B>-verbose</B> +<dt><b>-verbose</b> -<DD> +<dd> Print to the Standard Error file messages about the conversion process. This can be helpful in debugging problems. -</DL> +</dl> -<P>The <B>-restart</B> option tells <B>pnmtojpeg </B> to insert extra +<p>The <b>-restart</b> option tells <b>pnmtojpeg </b> to insert extra markers that allow a JPEG decoder to resynchronize after a transmission error. Without restart markers, any damage to a compressed file will usually ruin the image from the point of the error to the end of the image; with restart markers, the damage is usually confined to the portion of the image up to the next restart marker. Of course, the restart markers occupy extra space. We -recommend <B>-restart=1</B> for images that will be transmitted +recommend <b>-restart=1</b> for images that will be transmitted across unreliable networks such as Usenet. -<P>The <B>-smooth</B> option filters the input to eliminate +<p>The <b>-smooth</b> option filters the input to eliminate fine-scale noise. This is often useful when converting dithered images to JFIF: a moderate smoothing factor of 10 to 50 gets rid of dithering patterns in the input file, resulting in a smaller JFIF file and a better-looking image. Too large a smoothing factor will visibly blur the image, however. -<P>Options for wizards: +<h3 id="wizardopts">Wizard Options</h3> -<DL COMPACT> -<DT><B>-baseline</B> +<dl compact> +<dt><b>-baseline</b> -<DD>Force baseline-compatible quantization tables to be generated. +<dd>Force baseline-compatible quantization tables to be generated. This clamps quantization values to 8 bits even at low quality settings. (This switch is poorly named, since it does not ensure that the output is actually baseline JPEG. For example, you can use -<B>-baseline</B> and <B>-progressive</B> together.) +<b>-baseline</b> and <b>-progressive</b> together.) -<DT><B>-qtables=</B><I>filespec</I> +<dt><b>-qtables=</b><i>filespec</i> -<DD>Use the quantization tables given in the specified text file. +<dd>Use the quantization tables given in the specified text file. -<DT><B>-qslots=n[,...]</B> +<dt><b>-qslots=n[,...]</b> -<DD>Select which quantization table to use for each color component. +<dd>Select which quantization table to use for each color component. -<DT><B>-sample=</B><I>H</i><b>x</b><i>V</i>[,...] +<dt><b>-sample=</b><i>H</i><b>x</b><i>V</i>[,...] -<DD>Set JPEG sampling factors for each color component. +<dd>Set JPEG sampling factors for each color component. -<DT><B>-scans=</B><I>filespec</I> +<dt><b>-scans=</b><i>filespec</i> -<DD>Use the scan script given in the specified text file. See below +<dd>Use the scan script given in the specified text file. See below for information on scan scripts. -<DT><B>-tracelevel=</B><I>N</I> +<dt><b>-tracelevel=</b><i>N</i> -<DD>This sets the level of debug tracing the program outputs as it runs. +<dd>This sets the level of debug tracing the program outputs as it runs. 0 means none, and is the default. This level primarily controls tracing of the JPEG library, and you can get some pretty interesting information about the compression process. -</DL> +</dl> -<P>The "wizard" options are intended for experimentation +<p>The "wizard" options are intended for experimentation with JPEG. If you don't know what you are doing, <strong>don't use them</strong>. These switches are documented further in the file wizard.doc that comes with the Independent JPEG Group's JPEG library. -<H2 id="examples">EXAMPLES</H2> +<h2 id="examples">EXAMPLES</h2> -<P>This example compresses the PPM file foo.ppm with a quality factor +<p>This example compresses the PPM file foo.ppm with a quality factor of 60 and saves the output as foo.jpg: <pre> - <B>pnmtojpeg -quality=60 foo.ppm > foo.jpg</B> + <b>pnmtojpeg -quality=60 foo.ppm > foo.jpg</b> </pre> <p>Here's a more typical example. It converts from BMP to JFIF: <pre> - <B>cat foo.bmp | bmptoppm | pnmtojpeg > foo.jpg</B> + <b>cat foo.bmp | bmptoppm | pnmtojpeg > foo.jpg</b> </pre> -<h2 id="loss">JPEG Loss</h2> +<h2 id="loss">JPEG LOSS</h2> <p>When you compress with JPEG, you lose information -- i.e. the resulting image has somewhat lower quality than the original. This is a characteristic @@ -400,24 +406,24 @@ to JFIF, you will lose quality. The more you do it, the more you lose. Drawings (charts, cartoons, line drawings, and such with few colors and sharp edges) suffer the most. -<P>To avoid this, you can use a compressed image format other than +<p>To avoid this, you can use a compressed image format other than JPEG. PNG and JPEG2000 are good choices, and Netpbm contains converters for those. <p>If you need to use JFIF on a drawing, you should experiment with -<B>pnmtojpeg</B>'s <B>-quality</B> and <B>-smooth</B> options to get a -satisfactory conversion. <B>-smooth 10</B> or so is often helpful. +<b>pnmtojpeg</b>'s <b>-quality</b> and <b>-smooth</b> options to get a +satisfactory conversion. <b>-smooth 10</b> or so is often helpful. -<P>Because of the loss, you should do all the manipulation you have to +<p>Because of the loss, you should do all the manipulation you have to do on the image in some other format and convert to JFIF as the last step. And if you can keep a copy in the original format, so much the better. -The <B>-optimize</B> option to <B>pnmtojpeg</B> is worth using when +The <b>-optimize</b> option to <b>pnmtojpeg</b> is worth using when you are making a "final" version for posting or archiving. It's also a win when you are using low quality settings to make very small JFIF files; the percentage improvement is often a lot more than -it is on larger files. (At present, <B>-optimize</B> mode is +it is on larger files. (At present, <b>-optimize</b> mode is automatically in effect when you generate a progressive JPEG file). <p>You can do flipping and rotating transformations losslessly with @@ -426,118 +432,123 @@ Jpeg Group's JPEG library. <b>jpegtran</b> exercises its intimate knowledge of the way JPEG works to do the transformation without ever actually decompressing the image. -<h2 id="otherprog"></h2> +<h2 id="otherprog">OTHER PROGRAMS</h2> -<P>Another program, <B>cjpeg</B>, is similar. <B>cjpeg</B> is +<p>Another program, <b>cjpeg</b>, is similar. <b>cjpeg</b> is maintained by the Independent JPEG Group and packaged with the JPEG -library which <B>pnmtojpeg</B> uses for all its JPEG work. Because of +library which <b>pnmtojpeg</b> uses for all its JPEG work. Because of that, you may expect it to exploit more current JPEG features. Also, -since you have to have the library to run <B>pnmtojpeg</B>, but not -vice versa, <B>cjpeg</B> may be more commonly available. +since you have to have the library to run <b>pnmtojpeg</b>, but not +vice versa, <b>cjpeg</b> may be more commonly available. -<p>On the other hand, <B>cjpeg</B> does not use the NetPBM libraries -to process its input, as all the NetPBM tools such as <B>pnmtojpeg</B> +<p>On the other hand, <b>cjpeg</b> does not use the NetPBM libraries +to process its input, as all the NetPBM tools such as <b>pnmtojpeg</b> do. This means it is less likely to be consistent with all the other programs that deal with the NetPBM formats. Also, the command syntax -of <B>pnmtojpeg</B> is consistent with that of the other Netpbm tools, -unlike <B>cjpeg</B>. +of <b>pnmtojpeg</b> is consistent with that of the other Netpbm tools, +unlike <b>cjpeg</b>. -<H2 id="scanscripts">SCAN SCRIPTS</H2> +<h2 id="scanscripts">SCAN SCRIPTS</h2> -<P>Use the <B>-scan</B> option to specify a scan script. Or use the -<B>-progressive</B> option to specify a particular built-in scan +<p>Use the <b>-scan</b> option to specify a scan script. Or use the +<b>-progressive</b> option to specify a particular built-in scan script. -<P>Just what a scan script is, and the basic format of the scan script -file, is covered in the <B>wizard.doc</B> file that comes with the +<p>Just what a scan script is, and the basic format of the scan script +file, is covered in the <b>wizard.doc</b> file that comes with the Independent JPEG Group's JPEG library. Scan scripts are same for -<B>pnmtojpeg</B> as the are for <B>cjpeg</B>. +<b>pnmtojpeg</b> as the are for <b>cjpeg</b>. -<P>This section contains additional information that isn't, but +<p>This section contains additional information that isn't, but probably should be, in that document. -<P>First, there are many restrictions on what is a valid scan script. -The JPEG library, and thus <B>pnmtojpeg</B>, checks thoroughly for any +<p>First, there are many restrictions on what is a valid scan script. +The JPEG library, and thus <b>pnmtojpeg</b>, checks thoroughly for any lack of compliance with these restrictions, but does little to tell you how the script fails to comply. The messages are very general and sometimes untrue. -<P> +<p> To start with, the entries for the DC coefficient must come before any entries for the AC coefficients. The DC coefficient is Coefficient 0; all the other coefficients are AC coefficients. So in an entry for the DC coefficient, the two numbers after the colon must be 0 and 0. In an entry for AC coefficients, the first number after the colon must not be 0. -<P> +<p> In a DC entry, the color components must be in increasing order. E.g. "0,2,1" before the colon is wrong. So is "0,0,0". -<P> +<p> In an entry for an AC coefficient, you must specify only one color component. I.e. there can be only one number before the colon. -<P> +<p> In the first entry for a particular coefficient for a particular color component, the "Ah" value must be zero, but the Al value can be any valid bit number. In subsequent entries, Ah must be the Al value from the previous entry (for that coefficient for that color component), and the Al value must be one less than the Ah value. -<P> +<p> The script must ultimately specify at least some of the DC coefficient for every color component. Otherwise, you get the error message "Script does not transmit all the data." You need not specify all of the bits of the DC coefficient, or any of the AC coefficients. -<P> +<p> There is a standard option in building the JPEG library to omit scan script capability. If for some reason your library was built with this option, you get the message "Requested feature was omitted at compile time." -<H2 id="environment">ENVIRONMENT</H2> +<h2 id="environment">ENVIRONMENT</h2> -<DL COMPACT> -<DT><B>JPEGMEM</B> +<dl compact> +<dt><b>JPEGMEM</b> -<DD>If this environment variable is set, its value is the default +<dd>If this environment variable is set, its value is the default memory limit. The value is specified as described for the -<B>-maxmemory</B> option. An explicit <B>-maxmemory </B> option -overrides any <B>JPEGMEM</B>. +<b>-maxmemory</b> option. An explicit <b>-maxmemory </b> option +overrides any <b>JPEGMEM</b>. -</DL> +</dl> -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<B><A HREF="jpegtopnm.html">jpegtopnm</A></B>, -<B><A HREF="pnm.html">pnm</A></B>, -<B>cjpeg</B> man page, -<B>djpeg</b> man page, -<B>jpegtran</B> man page, -<B>rdjpgcom</B> man page, -<B>wrjpgcom</B> man page +<b><a href="jpegtopnm.html">jpegtopnm</a></b>, +<b><a href="pnm.html">pnm</a></b>, +<b>cjpeg</b> man page, +<b>djpeg</b> man page, +<b>jpegtran</b> man page, +<b>rdjpgcom</b> man page, +<b>wrjpgcom</b> man page <p>Wallace, Gregory K. "The JPEG Still Picture Compression Standard", Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> -<B>pnmtojpeg</B> and this manual were derived in large part from -<B>cjpeg</B>, by the Independent JPEG Group. The program is otherwise +<b>pnmtojpeg</b> and this manual were derived in large part from +<b>cjpeg</b>, by the Independent JPEG Group. The program is otherwise by Bryan Henderson on March 07, 2000. -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#examples">EXAMPLES</A> -<LI><A HREF="#loss">JPEG LOSS</A> -<LI><A HREF="#otherprog">OTHER PROGRAMS</A> -<LI><A HREF="#scanscripts">SCAN SCRIPTS</A> -<LI><A HREF="#environment">ENVIRONMENT</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> + <ul> + <li><a href="#basicopts">Basic Options</a> + <li><a href="#advancedopts">Advanced options</a> + <li><a href="#wizardopts">Wizard Options</a> + </ul> +<li><a href="#examples">EXAMPLES</a> +<li><a href="#loss">JPEG LOSS</a> +<li><a href="#otherprog">OTHER PROGRAMS</a> +<li><a href="#scanscripts">SCAN SCRIPTS</a> +<li><a href="#environment">ENVIRONMENT</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/pnmtopng.html b/pnmtopng.html index 167291aa..e2c3f9bd 100644 --- a/pnmtopng.html +++ b/pnmtopng.html @@ -1,18 +1,17 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML> -<HEAD><TITLE>Pnmtopng User Manual</TITLE></HEAD> -<BODY> -<H1>pnmtopng</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Pnmtopng User Manual</title></head> +<body> +<h1>pnmtopng</h1> Updated: 13 March 2019 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> pnmtopng - convert a PNM image to PNG -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>pnmtopng</B> +<b>pnmtopng</b> [<b>-verbose</b>] [<b>-downscale</b>] [<b>-interlace</b>] @@ -45,14 +44,14 @@ pnmtopng - convert a PNM image to PNG [<b>-comp_buffer_size=</b><i>n</i>] [<b>-force</b>] [<b>-libversion</b>] -[<I>pnmfile</I>] +[<i>pnmfile</i>] -<?makeman .SH OPTION USAGE ?> +<?makeman .sh option usage ?> <p> Obsolete options: <p> -[<b>-filter </b><I>n</I>] +[<b>-filter </b><i>n</i>] <p> Options available only in older versions: @@ -63,18 +62,18 @@ Options available only in older versions: [<b>-time </b>[<i>yy</i>]<i>yy</i><b>-</b><i>mm</i><b>-</b><i>dd</i> <i>hh</i><b>:</b><i>mm</i><b>:</b><i>ss</i>] -<P>Minimum unique abbreviation of option is acceptable. You may use double +<p>Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. <p><b>pnmtopng</b> reads a PNM image as input and produces a PNG image as output. -<P>Color component values in PNG files are either eight or sixteen +<p>Color component values in PNG files are either eight or sixteen bits wide, so <b>pnmtopng</b> will automatically scale colors to have a maxval of 255 or 65535. @@ -98,7 +97,9 @@ power of two minus one (255 and 65535 are good choices) to minimize the error. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> + +<h3 id="notesyntax">Note: Option Syntax of Older Versions</h3> <p><b>pnmtopng</b> changed in Netpbm 10.30 (October 2005) to use the standard Netpbm command line syntax. Before that, you could not @@ -116,7 +117,7 @@ E.g. The old shell command <pre> <kbd> - pnmtopng -phys 800 800 0 input.pnm >output.png + pnmtopng -phys 800 800 0 input.pnm > output.png </kbd> </pre> @@ -124,28 +125,35 @@ E.g. The old shell command <pre> <kbd> - pnmtopng -size "800 800 0" input.pnm >output.png + pnmtopng -size "800 800 0" input.pnm > output.png </kbd> </pre> <p>If you're writing a program that needs to work with both new and old -<b>pnmtopng</b>, have it first try with the new syntax, and if it fails +, have it first try with the new syntax, and if it fails with "unrecognized option," fall back to the old syntax. -<DL COMPACT> -<DT><B>-verbose</B> -<DD> +<h3 id="curroptions">Current Options</h3> + +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>pnmtopng</b> recognizes the following +command line options: + +<dl compact> +<dt><b>-verbose</b> +<dd> This causes <b>pnmtopng</b> to display information about the format of the output file. -<DT><B>-downscale</B> -<DD> +<dt><b>-downscale</b> +<dd> This enables <b>pnmtopng</b> to scale maxvalues of more then 65535 to 16 bits. Since this means loss of image data, <b>pnmtopng</b> does not do it by default. -<DT><B>-interlace</B> -<DD> +<dt><b>-interlace</b> +<dd> This causes the PNG file to be interlaced, in Adam7 format. The interlaced format is one in which the raster data starts with a low-resolution representation of the entire image, then continues with additional information @@ -161,9 +169,9 @@ gradually paint down to the bottom. But with an interlaced image, the displayer can start by showing a low-resolution version of the image, then gradually improve the display as more data arrives. -<DT><B>-alpha=</b><i>filename</i> +<dt><b>-alpha=</b><i>filename</i> -<DD>This specifies the transparency (alpha) channel of the image. You supply +<dd>This specifies the transparency (alpha) channel of the image. You supply the transparency channel as a standard PGM transparency mask (see the <a href="pgm.html">PGM</a> specification. <b>pnmtopng</b> does not necessarily represents the transparency information as a transparency channel @@ -172,21 +180,21 @@ palette, it will do so in order to make a smaller PNG file. <b>pnmtopng</b> even sorts the palette so it can omit the opaque colors from the transparency part of the palette and save space for the palette. -<DT><B>-transparent=</b><i>color</i> -<DD> -<B>pnmtopng</B> marks the specified color as transparent in the PNG image. +<dt><b>-transparent=</b><i>color</i> +<dd> +<b>pnmtopng</b> marks the specified color as transparent in the PNG image. -<P>Specify the color (<i>color</i>) as described for the <a +<p>Specify the color (<i>color</i>) as described for the <a href="libnetpbm_image.html#colorname">argument of the <b>pnm_parsecolor()</b> library routine</a>. -E.g. <B>red</B> or -<B>rgb:ff/00/0d</B>. If the color you specify is not present in the -image, <B>pnmtopng</B> selects instead the color in the image that is +E.g. <b>red</b> or +<b>rgb:ff/00/0d</b>. If the color you specify is not present in the +image, <b>pnmtopng</b> selects instead the color in the image that is closest to the one you specify. Closeness is measured as a Cartesian distance between colors in RGB space. If multiple colors are -equidistant, <B>pnmtopng</B> chooses one of them arbitrarily. +equidistant, <b>pnmtopng</b> chooses one of them arbitrarily. -<P>However, if you prefix your color specification with +<p>However, if you prefix your color specification with "=", e.g. <pre> @@ -195,19 +203,19 @@ equidistant, <B>pnmtopng</B> chooses one of them arbitrarily. </kbd> </pre> -<P> only the exact color you specify will be transparent. If that +<p> only the exact color you specify will be transparent. If that color does not appear in the image, there will be no transparency. -<B>pnmtopng</B> issues an information message when this is the case. +<b>pnmtopng</b> issues an information message when this is the case. -<DT><B>-background=</b><i>color</i> -<DD> +<dt><b>-background=</b><i>color</i> +<dd> Causes <b>pnmtopng</b> to create a background color chunk in the PNG output which can be used for subsequent transparency channel or transparent color conversions. Specify <i>color</i> the same as for <b>-transparent</b>. -<DT><B>-palette=</b><i>palettefile</i> +<dt><b>-palette=</b><i>palettefile</i> -<DD>This option specifies a palette to use in the PNG. It forces +<dd>This option specifies a palette to use in the PNG. It forces <b>pnmtopng</b> to create the paletted (colormapped) variety of PNG -- if that isn't possible, <b>pnmtopng</b> fails. If the palette you specify doesn't contain exactly the colors in the image, @@ -217,10 +225,10 @@ only reason you would specify the <b>-palette</b> option is if you care in what order the colors appear in the palette. The PNG palette has colors in the same order as the palette you specify. -<P>You specify the palette by naming a PPM file that has one pixel for +<p>You specify the palette by naming a PPM file that has one pixel for each color in the palette. -<P>Alternatively, consider the case that have a palette and you want +<p>Alternatively, consider the case that have a palette and you want to make sure your PNG contains only colors from the palette, approximating if necessary. You don't care what indexes the PNG uses internally for the colors (i.e. the order of the PNG palette). In @@ -229,9 +237,9 @@ image and your palette PPM through <b>pnmremap</b>. Though you might think it would, using <b>-palette</b> in this case wouldn't even save <b>pnmtopng</b> any work. -<DT><B>-gamma=</b><i>value</i> +<dt><b>-gamma=</b><i>value</i> -<DD>Causes <b>pnmtopng</b> to create a gAMA chunk. This information helps +<dd>Causes <b>pnmtopng</b> to create a gAMA chunk. This information helps describe how the color values in the PNG must be interpreted. Without the gAMA chunk, whatever interprets the PNG must get this information separately (or just assume something standard). If your input is a true @@ -243,14 +251,14 @@ have digital computational ability. Also, some simple programs that generate images from scratch do it with a gamma transfer in which the gamma value is 1.0. -<DT><B>-hist</B> +<dt><b>-hist</b> -<DD>Use this parameter to create a chunk that specifies the frequency +<dd>Use this parameter to create a chunk that specifies the frequency (or histogram) of the colors in the image. -<DT><B>-text=</b><i>filename</i> +<dt><b>-text=</b><i>filename</i> -<DD> +<dd> This option lets you include arbitrary text strings in the PNG output, as tEXt chunks. @@ -286,9 +294,9 @@ delimiter characters after it, plus the text in subsequent continuation lines. <p>There is no limit on the length of a file line or entry or key or text string. There is no limit on the number of entries. -<DT><B>-ztxt=</b><i>filename</i> +<dt><b>-ztxt=</b><i>filename</i> -<DD>The same as <b>-text</b>, except the text string is compressed in the PNG +<dd>The same as <b>-text</b>, except the text string is compressed in the PNG output. <b>pnmtopng</b> uses zTXt chunks instead of a tEXt chunks, unless the key for the text string starts with "A" or "T". This odd exception exists for backward compatibility; we don't know why the program @@ -296,9 +304,9 @@ was originally designed this way, except that the distinction was meant to roughly identify the keys "Author" and "Title". -<DT><B>-rgb=</b><i>chroma_list</i> +<dt><b>-rgb=</b><i>chroma_list</i> -<DD>This option specifies how red, green, and blue component values +<dd>This option specifies how red, green, and blue component values of a pixel specify a particular color, by telling the chromaticities of those 3 primary illuminants and of white (i.e. full strength of all three). @@ -317,9 +325,9 @@ arguments. the option <b>-chroma</b> does the same thing, but with slightly different syntax. -<DT><B>-size="</b><i>x</i> <i>y</i> <i>unit</i><b>"</b> +<dt><b>-size="</b><i>x</i> <i>y</i> <i>unit</i><b>"</b> -<DD>This option determines the aspect ratio of the individual pixels +<dd>This option determines the aspect ratio of the individual pixels of your image as well as the physical resolution of it. <p><i>unit</i> is either <b>0</b> or <i>1</i>. When it is <i>1</i>, @@ -363,9 +371,9 @@ more information on what this really means. <p>This option was new in Netpbm 10.71 (June 2015). Before that, <b>pnmtopng</b> never generates an sRGB chunk. -<DT><B>-modtime="</b>[<i>yy</i>]<i>yy-mm-dd hh:mm:ss</i><b>"</b> +<dt><b>-modtime="</b>[<i>yy</i>]<i>yy-mm-dd hh:mm:ss</i><b>"</b> -<DD>This option allows you to specify the modification time value to +<dd>This option allows you to specify the modification time value to be placed in the PNG output. You can specify the year parameter either as a two digit or four digit value. @@ -373,9 +381,9 @@ either as a two digit or four digit value. the option <b>-time</b> does the same thing, but with slightly different syntax. -<DT><B>-filter=</b><i>n</i> +<dt><b>-filter=</b><i>n</i> -<DD>This option is obsolete. Before Netpbm 10.22 (April 2004), this was +<dd>This option is obsolete. Before Netpbm 10.22 (April 2004), this was the only way to specify a row filter. It specifies a single type of row filter, by number, that <b>pnmtopng</b> must use on each row. @@ -399,9 +407,9 @@ you could use the <b>-filter</b> option to specify one permitted row filter type. The default, when you specify no filter options, was the same. -<DT><B>-compression=</b><i>n</i> +<dt><b>-compression=</b><i>n</i> -<DD>This option sets set the compression level of the zlib +<dd>This option sets set the compression level of the zlib compression. Select a level from 0 for no compression (maximum speed) to 9 for maximum compression (minimum speed). @@ -437,7 +445,7 @@ library knows only one method today, so there's nothing to choose. <p>This option was new in Netpbm 10.30 (October 2005). -<dt><b>-comp_window_bits=</b><I>N</I> +<dt><b>-comp_window_bits=</b><i>N</i> <dd>This option tells how big a window the zlib compression algorithm uses. The value is the base 2 logarithm of the window size in bytes, @@ -450,7 +458,7 @@ to 32K). <p>This option was new in Netpbm 10.30 (October 2005). -<dt><b>-comp_buffer_size</b>=<I>N</I> +<dt><b>-comp_buffer_size</b>=<i>N</i> <dd>This option determines in what size pieces <b>pnmtopng</b> does the zlib compression. One compressed piece goes in each IDAT chunk in the @@ -466,9 +474,9 @@ compression buffer) in bytes. <p>This option was new in Netpbm 10.30 (October 2005). -<DT><B>-force</B> +<dt><b>-force</b> -<DD> +<dd> When you specify this, <b>pnmtopng</b> limits its optimizations. The resulting PNG output is as similar to the Netpbm input as possible. For example, the PNG output will not be paletted and the transparency channel will @@ -476,9 +484,9 @@ be represented as a full transparency channel even if the information could be represented more succinctly with a transparency chunk. -<DT><B>-libversion</B> +<dt><b>-libversion</b> -<DD> +<dd> This option causes <b>pnmtopng</b> to display version information about itself and the libraries it uses, <strong>in addition to all its normal function</strong>. Do not confuse this with the Netpbm common @@ -490,31 +498,35 @@ information about the Netpbm library and do nothing else. has changed too much over the history of <b>pnmtopng</b>. The option is good only for human eyes. -</DL> +</dl> -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<A HREF="pngtopam.html">pngtopam</A>, -<A HREF="pamtopng.html">pamtopng</A>, -<A HREF="pnmremap.html">pnmremap</A>, -<A HREF="pnmgamma.html">pnmgamma</A>, -<A HREF="pnm.html">pnm</A> +<a href="pngtopam.html">pngtopam</a>, +<a href="pamtopng.html">pamtopng</a>, +<a href="pnmremap.html">pnmremap</a>, +<a href="pnmgamma.html">pnmgamma</a>, +<a href="pnm.html">pnm</a> <p>For information on the PNG format, see <a href="http://schaik.com/png">http://schaik.com/png</a>. -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> Copyright (C) 1995-1997 by Alexander Lehmann and Willem van Schaik. -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> + <ul> + <li><a href="#notesyntax">Note: Option Syntax of Older Versions</a> + <li><a href="#curroptions">Current Options</a> + </ul> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/ppmquantall.html b/ppmquantall.html index fc7fc209..1e0132d7 100644 --- a/ppmquantall.html +++ b/ppmquantall.html @@ -1,17 +1,16 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Ppmquantall User Manual</TITLE></HEAD> -<BODY> -<H1>ppmquantall</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Ppmquantall User Manual</title></head> +<body> +<h1>ppmquantall</h1> Updated: 05 March 2012 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> -<H2>NAME</H2> +<h2>NAME</h2> -<B>ppmquantall</B> - replaced by pnmquantall +<b>ppmquantall</b> - replaced by pnmquantall -<H2>DESCRIPTION</H2> +<h2>DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -25,8 +24,5 @@ before the renaming. <p>For Netpbm before 10.58, where the program is still named <b>ppmquantall</b>, just use the <b>pnmquantall</b> manual. -</BODY> -</HTML> - - - +</body> +</html> diff --git a/ppmshadow.html b/ppmshadow.html index 9683faef..170a783a 100644 --- a/ppmshadow.html +++ b/ppmshadow.html @@ -63,10 +63,7 @@ you don't specify <i>ppmfile</i>, the input is Standard Input. <h2 id="options">OPTIONS</h2> -<p>In addition to the options common to all programs based on libnetpbm -(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> -Common Options</a>), <b>ppmshadow</b> recognizes the following -command line options: +<b>ppmshadow</b> recognizes the following command line options: <dl compact> <dt><b>-b</b> <i>blur_size</i> @@ -117,6 +114,9 @@ same as the horizontal offset (above), upward. </dl> +<p><b>ppmshadow</b> does not recognize the options common to all +programs based on libnetpbm (See <a href="index.html#commonoptions"> +Common Options</a>.) However, the <b>-version</b> option works. <h2 id="limitations">LIMITATIONS</h2> diff --git a/ppmtoilbm.html b/ppmtoilbm.html index ca06b813..b94c31a8 100644 --- a/ppmtoilbm.html +++ b/ppmtoilbm.html @@ -1,61 +1,61 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Ppmtoilbm User Manual</TITLE></HEAD> -<BODY> -<H1>ppmtoilbm</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Ppmtoilbm User Manual</title></head> +<body> +<h1>ppmtoilbm</h1> Updated: 28 June 2015 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> ppmtoilbm - convert a PPM image into an ILBM file -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>ppmtoilbm</B> +<b>ppmtoilbm</b> -[<B>-maxplanes</B>|<B>-mp</B> <I>N</I>] +[<b>-maxplanes</b>|<b>-mp</b> <i>N</i>] -[<B>-fixplanes</B>|<B>-fp</B> <I>N</I>] +[<b>-fixplanes</b>|<b>-fp</b> <i>N</i>] -[<B>-ham6</B>|<B>-ham8</B>] +[<b>-ham6</b>|<b>-ham8</b>] -[{<B>-dcbits</B>|<B>-dcplanes</B>} <i>r</i> <i>g</i> <i>b</i>] +[{<b>-dcbits</b>|<b>-dcplanes</b>} <i>r</i> <i>g</i> <i>b</i>] [ -<B>-normal</B>|<B>-hamif</B>|<B>-hamforce</B>|<B>-24if</B>|<B>-24force</B>| -<b>-dcif</b>|<b>-dcforce</B>|<b>-cmaponly</B> +<b>-normal</b>|<b>-hamif</b>|<b>-hamforce</b>|<b>-24if</b>|<b>-24force</b>| +<b>-dcif</b>|<b>-dcforce</b>|<b>-cmaponly</b> ] -[<B>-ecs</B>|<B>-aga</B>] +[<b>-ecs</b>|<b>-aga</b>] -[<B>-compress</B>|<B>-nocompress</B>] +[<b>-compress</b>|<b>-nocompress</b>] -[<B>-cmethod</B> <I>type</I>] +[<b>-cmethod</b> <i>type</i>] -[<B>-map</B> <i>ppmfile</i>] +[<b>-map</b> <i>ppmfile</i>] -[<B>ppmfile</B>] +[<b>ppmfile</b>] -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. <p><b>ppmtoilbm</b> reads a PPM image as input. Produces an ILBM file as output. <b>ppmtoilbm</b> understands the following ILBM types: -<UL COMPACT> +<ul compact> -<LI>Normal ILBMs with 1-16 planes +<li>Normal ILBMs with 1-16 planes -<LI>Amiga HAM with 3-16 planes +<li>Amiga HAM with 3-16 planes -<LI>24 bit +<li>24 bit -<LI>Color map (BMHD + CMAP chunk only, nPlanes = 0) +<li>Color map (BMHD + CMAP chunk only, nPlanes = 0) -<LI>Unofficial direct color. 1-16 planes for each color component. +<li>Unofficial direct color. 1-16 planes for each color component. </ul> @@ -63,110 +63,115 @@ as output. <b>ppmtoilbm</b> understands the following ILBM types: colormap files) unofficial DCOL chunk for direct color ILBM. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> + +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>ppmtoilbm</b> recognizes the following +command line options: <p>Options marked with (*) can be prefixed with a "no", e.g. "-nohamif". All options can be abbreviated to their shortest unique prefix. -<DL COMPACT> -<DT><B>-maxplanes</b> | <b>-mp</b> <i>n</i> +<dl compact> +<dt><b>-maxplanes</b> | <b>-mp</b> <i>n</i> -<DD>(default 5, minimum 1, maximum 16) Maximum planes to write in a +<dd>(default 5, minimum 1, maximum 16) Maximum planes to write in a normal ILBM. If the image does not fit into <n> planes, ppmtoilbm writes a HAM file (if -hamif is used), a 24bit file (if -24if is used) or a direct color file (if -dcif is used) or aborts with an error. -<DT><B>-fixplanes</b> | <b>-fp</b> <i>b</i> +<dt><b>-fixplanes</b> | <b>-fp</b> <i>b</i> -<DD>(min 1, max 16) If a normal ILBM is written, it will have exactly +<dd>(min 1, max 16) If a normal ILBM is written, it will have exactly <n> planes. -<DT><B>-hambits</b> | <b>-hamplanes</b> <i>n</i> +<dt><b>-hambits</b> | <b>-hamplanes</b> <i>n</i> -<DD>(default 6, min 3, max 16) Select number of planes for HAM -picture. The current Amiga hardware supports 6 and 8 planes, so for +<dd>(default 6, min 3, max 16) Select number of planes for HAM +picture. The current Amiga hardware understands 6 and 8 planes, so for now you should only use this values. -<DT><B>-normal</B> +<dt><b>-normal</b> -<DD>Turns off -hamif/-24if/-dcif, -hamforce/-24force/-dcforce and +<dd>Turns off -hamif/-24if/-dcif, -hamforce/-24force/-dcforce and -cmaponly. Also sets compression type to byterun1. <p>This is the default. -<DT><B>-hamif</B> (*) -<DT><B>-24if</B> (*) -<DT><B>-dcif</B> (*) +<dt><b>-hamif</b> (*) +<dt><b>-24if</b> (*) +<dt><b>-dcif</b> (*) -<DD>Write a HAM/24bit/direct color file if the image does not fit into +<dd>Write a HAM/24bit/direct color file if the image does not fit into <maxplanes> planes. -<DT><B>-hamforce</B> (*) -<DT><B>-24force</B> (*) -<DT><B>-dcforce</B> (*) +<dt><b>-hamforce</b> (*) +<dt><b>-24force</b> (*) +<dt><b>-dcforce</b> (*) -<DD>Write a HAM/24bit/direct color file. +<dd>Write a HAM/24bit/direct color file. -<DT><B>-dcbits</b> <i>r</i> <i>g</i> <i>b</i> -<DT><b>-dcplanes</b> <i>r</i> <i>g</i> <i>b</i> +<dt><b>-dcbits</b> <i>r</i> <i>g</i> <i>b</i> +<dt><b>-dcplanes</b> <i>r</i> <i>g</i> <i>b</i> -<DD>(default 5, min 1, max 16). Select number of bits for red, green +<dd>(default 5, min 1, max 16). Select number of bits for red, green and blue in a direct color ILBM. -<DT><B>-ecs</B> +<dt><b>-ecs</b> -<DD>Shortcut for: -hamplanes 6 -maxplanes 5 +<dd>Shortcut for: -hamplanes 6 -maxplanes 5 <p>This is the default. -<DT><B>-aga</B> +<dt><b>-aga</b> -<DD>Shortcut for: <b>-hamplanes 8 -maxplanes 8</B> +<dd>Shortcut for: <b>-hamplanes 8 -maxplanes 8</b> -<DT><B>-ham6</B> +<dt><b>-ham6</b> -<DD>Shortcut for: <b>-hamplanes 6 -hamforce</B> +<dd>Shortcut for: <b>-hamplanes 6 -hamforce</b> -<DT><B>-ham8</B> +<dt><b>-ham8</b> -<DD>Shortcut for: <b>-hamplanes 8 -hamforce</b> +<dd>Shortcut for: <b>-hamplanes 8 -hamforce</b> -<DT><B>-compress</B> (*) +<dt><b>-compress</b> (*) -<DD>This is the default. +<dd>This is the default. -<DD>Compress the BODY chunk. The default compression method is +<dd>Compress the BODY chunk. The default compression method is byterun1. Compression requires building the ILBM image in memory; turning compression off allows stream-writing of the image, but the resulting file will usually be 30% to 50% larger. Another alternative is the -savemem option, this will keep memory requirements for compression at a minimum, but is very slow. -<DT><B>-cmethod</b> <b>none</b>|<b>byterun1</B> +<dt><b>-cmethod</b> <b>none</b>|<b>byterun1</b> -<DD>This option does the same thing as <b>-compress</b>. +<dd>This option does the same thing as <b>-compress</b>. -<DT><B>-map</b> <i>ppmfile</i> +<dt><b>-map</b> <i>ppmfile</i> -<DD>Write a normal ILBM using the colors in <ppmfile> as the +<dd>Write a normal ILBM using the colors in <ppmfile> as the colormap. The colormap file also determines the number of planes, a <b>-maxplanes</b> or <b>-fixplanes</b> option is ignored. -<DT><B>-cmaponly</B> +<dt><b>-cmaponly</b> -<DD>Write a colormap file: only BMHD and CMAP chunks, no BODY chunk, +<dd>Write a colormap file: only BMHD and CMAP chunks, no BODY chunk, nPlanes = 0. -<DT><B>-savemem</B> +<dt><b>-savemem</b> -<DD>See the <b>-compress</b> option. +<dd>See the <b>-compress</b> option. -</DL> +</dl> -<H2 id="limitations">LIMITATIONS</H2> +<h2 id="limitations">LIMITATIONS</h2> <p>HAM pictures will always get a grayscale colormap; a real color selection algorithm might give better results. On the other hand, @@ -175,17 +180,17 @@ the same depth (no. of planes) share a common colormap, which is useful for building HAM animations. -<H2 id="references">REFERENCES</H2> +<h2 id="references">REFERENCES</h2> Amiga ROM Kernel Reference Manual - Devices (3rd Ed.) -<BR> +<br> Addison Wesley, ISBN 0-201-56775-X -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<A HREF="ppm.html">ppm</A>, -<A HREF="ilbmtoppm.html">ilbmtoppm</A> +<a href="ppm.html">ppm</a>, +<a href="ilbmtoppm.html">ilbmtoppm</a> <h2 id="history">HISTORY</h2> @@ -193,25 +198,25 @@ Addison Wesley, ISBN 0-201-56775-X <p>For about a year in 1993-1994, there was a <b>-savemem</b> option. -<H2 id="authoris">AUTHORS</H2> +<h2 id="authors">AUTHORS</h2> <p>Copyright (C) 1989 by Jef Poskanzer. -<p>Modified October 1993 by Ingo Wilken (<A -HREF="mailto:Ingo.Wilken@informatik.uni-oldenburg.de">Ingo.Wilken@informatik.uni-oldenburg.de</A>) - - -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#limitations">LIMITATIONS</A> -<LI><A HREF="#references">REFERENCES</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#history">HISTORY</A> -<LI><A HREF="#authors">AUTHORS</A> -</UL> -</BODY> -</HTML> +<p>Modified October 1993 by Ingo Wilken (<a +href="mailto:Ingo.Wilken@informatik.uni-oldenburg.de">Ingo.Wilken@informatik.uni-oldenburg.de</a>) + + +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#limitations">LIMITATIONS</a> +<li><a href="#references">REFERENCES</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#history">HISTORY</a> +<li><a href="#authors">AUTHORS</a> +</ul> +</body> +</html> diff --git a/ppmtomitsu.html b/ppmtomitsu.html index bb65f1f1..e03d14a8 100644 --- a/ppmtomitsu.html +++ b/ppmtomitsu.html @@ -36,7 +36,7 @@ ppmtomitsu - convert a PPM image to a Mitsubishi S340-10 file format suitable to be printed by a Mitsubishi S340-10 printer, or any other Mitsubishi color sublimation printer. -<p>The Mitsubishi S340-10 Color Sublimation printer supports 24bit +<p>The Mitsubishi S340-10 Color Sublimation printer can print in 24 bit color. Images of the available sizes take so long to transfer that there is a fast method, employing a lookuptable, that ppmtomitsu will use if there is a maximum of 256 colors in the image. ppmtomitsu @@ -50,8 +50,8 @@ printer. The printer understands putting together images in the printers memory; ppmtomitsu doesn't utilize this as pnmcat etc provide the same functionality and let you view the result on-screen, too. The S340-10 is the lowest common denominator printer; for higher -resolution printers there's the dpi300 option. The other printers also -support higher values for enlarge eg, but I don't think that's +resolution printers there's the dpi300 option. The other printers are also +capable of higher values for enlarge eg, but I don't think that's essential enough to warrant a change in the program. <p>For proper results, the input maxval must be 255. Use <b>pamdepth</b> diff --git a/ppmtoterm.html b/ppmtoterm.html index 23ac56c0..e25f73d0 100644 --- a/ppmtoterm.html +++ b/ppmtoterm.html @@ -1,30 +1,30 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Ppmtoterm User Manual</TITLE></HEAD> -<BODY> -<H1>ppmtoterm</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Ppmtoterm User Manual</title></head> +<body> +<h1>ppmtoterm</h1> Updated: 17 June 2017 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> ppmtoterm - convert a PPM image to a ANSI ISO 6429 ascii image -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>ppmtoterm</B> +<b>ppmtoterm</b> -[<I>ppmfile</I>] +[<i>ppmfile</i>] -<P>All options can be abbreviated to their shortest unique prefix. +<p>All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign. -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. -<P>This program tries to produce an accurate representation of a PPM +<p>This program tries to produce an accurate representation of a PPM image on an terminal that implements the ANSI ISO 6429 standard. It approximates colors, finding the minimum Cartesian distance between the input RGB vectors and the ones in the generated palette. As the @@ -32,11 +32,11 @@ available color palette is somewhat restricted, you get the best results when the colors in the original image are few and the RGB intensities are close to zero, half of maximum, and maximum. -<P>You can usually get good results with cartoons or images with +<p>You can usually get good results with cartoons or images with plain colors (no gradients). With photos, results can vary, but are usually not very accurate. -<P>The output image has one line for each row and one character for each +<p>The output image has one line for each row and one character for each column of the input image. E.g. an 80 pixel by 25 pixel PPM image would fill up an 80x25 terminal screen. Use <b>pamscale</b> or <b>pamcut</b> to make your image fit properly on your screen. @@ -48,12 +48,12 @@ appear square on your terminal, as it should, you'll want to squash it vertically or stretch it horizontally by a factor of two (resulting int 10x20 characters are 20x40 characters). -<P>The image starts at the current cursor position on the terminal +<p>The image starts at the current cursor position on the terminal screen. Each successive row starts at Column 0 on the screen. If you want to shift the image up or down, for example to center it, use <b>pnmpad</b> on the input. -<P>This program was born with the objective of displaying nice color +<p>This program was born with the objective of displaying nice color images on the Linux console, e.g. a proper logo at Linux boot. <p><b>ppmtoascii</b> does a similar things, but combines 2 or 8 pixels into @@ -64,41 +64,42 @@ pixel. <p><b>pbmto4425</b> does a similar thing for black and white images, using line drawing characters, on some terminals. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<P> -None. +<p>There are no command line options defined specifically +for <b>ppmtoterm</b>, but it recognizes the options common to all +programs based on libnetpbm (See <a href="index.html#commonoptions"> +Common Options</a>.) +<h2 id="seealso">SEE ALSO</h2> -<H2 id="seealso">SEE ALSO</H2> +<b><a href="pamscale.html">pamscale</a></b>, +<b><a href="pamcut.html">pamcut</a></b>, +<b><a href="ppmtoascii.html">ppmtoascii</a></b>, +<b><a href="pbmtoascii.html">pbmtoascii</a></b>, +<b><a href="pbmto4425.html">pbmto4425</a></b>, +<b><a href="ppm.html">ppm</a></b> -<B><A HREF="pamscale.html">pamscale</A></B>, -<B><A HREF="pamcut.html">pamcut</a></b>, -<B><A HREF="ppmtoascii.html">ppmtoascii</a></b>, -<B><A HREF="pbmtoascii.html">pbmtoascii</a></b>, -<B><A HREF="pbmto4425.html">pbmto4425</a></b>, -<B><A HREF="ppm.html">ppm</A></B> - -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> Copyright (C) 2002 by Ero Carrera. -<h2 id="history">HISTORY</H2> - -<P>This program was new in Netpbm 10.9 (August 2002). +<h2 id="history">HISTORY</h2> +<p>This program was new in Netpbm 10.9 (August 2002). -<HR> -<H2 id="contents">Table Of Contents</H2> -<UL> -<LI><A HREF="#synopsis">SYNOPSIS</A> -<LI><A HREF="#description">DESCRIPTION</A> -<LI><A HREF="#options">OPTIONS</A> -<LI><A HREF="#seealso">SEE ALSO</A> -<LI><A HREF="#author">AUTHOR</A> -</UL> -</BODY> -</HTML> +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> +<li><a href="#options">OPTIONS</a> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +<li><a href="#history">HISTORY</a> +</ul> +</body> +</html> diff --git a/rletopnm.html b/rletopnm.html index 93a4d267..8a912be9 100644 --- a/rletopnm.html +++ b/rletopnm.html @@ -132,7 +132,7 @@ Army High Performance Computing Research Center (AHPCRC) Minnesota Supercomputer Center, Inc. -<p>Modifications by Eric Haines to support raw and plain formats. +<p>Modifications by Eric Haines to produce raw and plain formats. <p>Modifications by Bryan Henderson to create transparency files and use mnemonic options. diff --git a/tifftopnm.html b/tifftopnm.html index c0526212..af540dfc 100644 --- a/tifftopnm.html +++ b/tifftopnm.html @@ -1,30 +1,30 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<HTML><HEAD><TITLE>Tifftopnm User Manual</TITLE></HEAD> -<BODY> -<H1>tifftopnm</H1> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN"> +<html><head><title>Tifftopnm User Manual</title></head> +<body> +<h1>tifftopnm</h1> Updated: 02 January 2015 -<BR> -<A HREF="#index">Table Of Contents</A> +<br> +<a href="#index">Table Of Contents</a> -<H2>NAME</H2> +<h2>NAME</h2> tifftopnm - convert a TIFF file into a PNM image -<H2 id="synopsis">SYNOPSIS</H2> +<h2 id="synopsis">SYNOPSIS</h2> -<B>tifftopnm</B> +<b>tifftopnm</b> -[<B>-alphaout=</B>{<I>alpha-filename</I>,<B>-</B>}] -[<B>-headerdump</B>] +[<b>-alphaout=</b>{<i>alpha-filename</i>,<b>-</b>}] +[<b>-headerdump</b>] [<b>-verbose</b>] <br> -[<B>-respectfillorder</B>] -[<B>-byrow</B>] -[<B>-orientraw</B>] -[<I>tiff-filename</I>] +[<b>-respectfillorder</b>] +[<b>-byrow</b>] +[<b>-orientraw</b>] +[<i>tiff-filename</i>] -<H2 id="description">DESCRIPTION</H2> +<h2 id="description">DESCRIPTION</h2> <p>This program is part of <a href="index.html">Netpbm</a>. @@ -39,9 +39,9 @@ which type it is writing. output stream. Before Netpbm 10.27 (March 2005), however, it would just ignore all but the first input image. -<P>The <I>tiff-filename</I> argument names the file that contains the Tiff +<p>The <i>tiff-filename</i> argument names the file that contains the Tiff image. If you specify "-" or don't specify this -argument, <B>tifftopnm</B> uses Standard Input. +argument, <b>tifftopnm</b> uses Standard Input. <p>In either case, before Netpbm 10.70 (March 2015), the file must be seekable. That means no pipe, but any regular file is fine. In current @@ -49,14 +49,13 @@ Netpbm, the file need not be seekable, but if it isn't, <b>tifftopnm</b> creates a temporary regular file containing the entire image, so you must have resources for that (and it may defeat your reason for using a pipe). - <h3 id="library">TIFF Capability</h3> <p><b>pamtotiff</b> uses the Libtiff.org TIFF library (or whatever equivalent you provide) to interpret the TIFF input. So the set of files it is able to interpret is determined mostly by that library. -<P>This program cannot read every possible TIFF file -- there are +<p>This program cannot read every possible TIFF file -- there are myriad variations of the TIFF format. However, it does understand monochrome and gray scale, RGB, RGBA (red/green/blue with transparency channel), CMYK (Cyan-Magenta-Yellow-Black ink color separation), and @@ -77,91 +76,96 @@ intelligence. That native intelligence does not know as many formats as TIFFRGBAImageGet() does. And certain compressed formats simply cannot be read with TIFFReadScanLine(). -<P>Before Netpbm 10.11 (October 2002), <B>tifftopnm</b> never used +<p>Before Netpbm 10.11 (October 2002), <b>tifftopnm</b> never used TIFFRGBAImageGet(), so it could not interpret many of the formats it can interpret today. -<P>There is no fundamental reason that this program could not read +<p>There is no fundamental reason that this program could not read other kinds of TIFF files even when they don't fit in memory all at once. The existing limitations are mainly because no one has asked for more. <h3 id="output">Output Image</h3> -<P>The PNM output has the same maxval as the Tiff input, except that +<p>The PNM output has the same maxval as the Tiff input, except that if the Tiff input is colormapped (which implies a maxval of 65535) the PNM output has a maxval of 255. Though this may result in lost information, such input images hardly ever actually have more color resolution than a maxval of 255 provides and people often cannot deal with PNM files that have maxval > 255. By contrast, a non-colormapped Tiff image that doesn't need a maxval > 255 doesn't -<EM>have</EM> a maxval > 255, so when <b>tifftopnm</b> sees a +<em>have</em> a maxval > 255, so when <b>tifftopnm</b> sees a non-colormapped maxval > 255, it takes it seriously and produces a matching output maxval. -<P>Another exception is where the TIFF maxval is greater than 65535, +<p>Another exception is where the TIFF maxval is greater than 65535, which is the maximum allowed by the Netpbm formats. In that case, <b>tifftopnm</b> uses a maxval of 65535, and you lose some information in the conversion. -<H2 id="options">OPTIONS</H2> +<h2 id="options">OPTIONS</h2> -<P>You may abbreviate any option to its shortest unique prefix. You may use +<p>In addition to the options common to all programs based on libnetpbm +(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> +Common Options</a>), <b>tifftopnm</b> recognizes the following +command line options: + +<p>You may abbreviate any option to its shortest unique prefix. You may use two hyphens instead of one in options. You may separate an option and its value either by an equals sign or white space. -<DL COMPACT> -<DT><B>-alphaout=</B><I>alpha-filename</I> +<dl compact> +<dt><b>-alphaout=</b><i>alpha-filename</i> -<DD><B>tifftopnm </B>creates a PGM file containing the alpha channel +<dd><b>tifftopnm </b>creates a PGM file containing the alpha channel values in the input image. If the input image doesn't contain a -transparency channel, the <I>alpha-filename</I> file contains all zero -(transparent) transparency values. If you don't specify <B>-alphaout</B>, +transparency channel, the <i>alpha-filename</i> file contains all zero +(transparent) transparency values. If you don't specify <b>-alphaout</b>, -<B>tifftopnm</B> does not generate a transparency file, and if the input -image has an transparency channel, <B>tifftopnm</B> simply discards it. +<b>tifftopnm</b> does not generate a transparency file, and if the input +image has an transparency channel, <b>tifftopnm</b> simply discards it. -<P>If you specify <B>-</B> as the filename, <B>tifftopnm</B> +<p>If you specify <b>-</b> as the filename, <b>tifftopnm</b> writes the transparency output to Standard Output and discards the image. -<P>See <B><A HREF="pamcomp.html">pamcomp</A></B> for one way to use +<p>See <b><a href="pamcomp.html">pamcomp</a></b> for one way to use the transparency output file. -<DT><B>-respectfillorder</B> +<dt><b>-respectfillorder</b> -<DD>By default, <B>tifftopnm </B> ignores the "fillorder" +<dd>By default, <b>tifftopnm </b> ignores the "fillorder" tag in the TIFF input, which means it may incorrectly interpret the image. To make it follow the spec, use this option. For a lengthy -but engaging discussion of why <B>tifftopnm</B> works this way and how -to use the <B>-respectfillorder</B> option, see the note on fillorder +but engaging discussion of why <b>tifftopnm</b> works this way and how +to use the <b>-respectfillorder</b> option, see the note on fillorder below. -<DT><B>-byrow</B> +<dt><b>-byrow</b> -<DD>This option can make <b>tifftopnm</b> run faster. +<dd>This option can make <b>tifftopnm</b> run faster. -<P><B>tifftopnm</B> has two ways to do the conversion from Tiff to PNM, using +<p><b>tifftopnm</b> has two ways to do the conversion from Tiff to PNM, using respectively two facilities of the TIFF library: -<DL> +<dl> -<DT>Whole Image +<dt>Whole Image -<DD>Decode the entire image into memory at once, using +<dd>Decode the entire image into memory at once, using <b>TIFFRGBAImageGet()</b>, then convert to PNM and output row by row. -<DT>Row By Row -<DD>Read, convert, and output one row at a time +<dt>Row By Row +<dd>Read, convert, and output one row at a time using <b>TIFFReadScanline()</b> -</DL> +</dl> -<P>Whole Image is preferable because the Tiff library does more of the +<p>Whole Image is preferable because the Tiff library does more of the work, which means it understands more of the Tiff format possibilities now and in the future. Also, some compressed TIFF formats don't allow you to extract an individual row. -<P>Row By Row uses far less memory, which means with large images, it +<p>Row By Row uses far less memory, which means with large images, it can run in environments where Whole Image cannot and may also run faster. And because Netpbm code does more of the work, it's possible that it can be more flexible or at least give better diagnostic @@ -170,13 +174,13 @@ information if there's something wrong with the TIFF. <p>The Netpbm native code may do something correctly that the TIFF library does incorrectly, or vice versa. -<P>In Netpbm, we stress function over performance, so by default we +<p>In Netpbm, we stress function over performance, so by default we try Whole Image first, and if we can't get enough memory for the decoded image or <b>TIFFRGBAImageGet()</b> fails, we fall back to Row By Row. But if you specify the <b>-byrow</b> option, <b>tifftopnm</b> will not attempt Whole Image. If Row By Row does not work, it simply fails. -<P>See <a href="#cmyk">Color Separation (CMYK) TIFFs</a> for a +<p>See <a href="#cmyk">Color Separation (CMYK) TIFFs</a> for a description of one way Row By Row makes a significant difference in your results. @@ -185,13 +189,13 @@ your results. <b>tifftopnm</b> then scales them back to maxval 65535, but the lower 8 bits of information is gone. -<p>In many versions of the TIFF library, <B>TIFFRGBAImageGet()</B> does not +<p>In many versions of the TIFF library, <b>TIFFRGBAImageGet()</b> does not correctly interpret TIFF files in which the raster orientation is column-major (i.e. a row of the raster is a column of the image). With such a TIFF library and file, you must use <b>-byrow</b> to get correct output. -<P>Before Netpbm 10.11 (October 2002), <B>tifftopnm</b> always did Row +<p>Before Netpbm 10.11 (October 2002), <b>tifftopnm</b> always did Row By Row. Netpbm 10.12 always tried Whole Image first. <b>-byrow</b> came in with Netpbm 10.13 (January 2003). @@ -230,18 +234,18 @@ that have an orientation other than the common one. <dd>Print extra messages to Standard Error about the conversion. -<DT><B>-headerdump</B> +<dt><b>-headerdump</b> -<DD>Dump TIFF file information to stderr. This information may be useful +<dd>Dump TIFF file information to stderr. This information may be useful in debugging TIFF file conversion problems. -</DL> +</dl> -<H2 id="notes">NOTES</H2> +<h2 id="notes">NOTES</h2> -<H3 id="fillorder">Fillorder</H3> +<h3 id="fillorder">Fillorder</h3> -<P> +<p> There is a piece of information in the header of a TIFF image called "fillorder." The TIFF specification quite clearly states that this value tells the order in which bits are arranged in a byte @@ -250,42 +254,42 @@ assuming that the image has a format where more than one pixel can be represented by a single byte: 1) the byte is filled from most significant bit to least significant bit going left to right in the image; and 2) the opposite. -<P> +<p> However, there is confusion in the world as to the meaning of fillorder. Evidence shows that some people believe it has to do with byte order when a single value is represented by two bytes. -<P> +<p> These people cause TIFF images to be created that, while they use a MSB-to-LSB fillorder, have a fillorder tag that says they used LSB-to-MSB. A program that properly interprets a TIFF image will not end up with the image that the author intended in this case. -<P> -For a long time, <B>tifftopnm</B> did not understand fillorder itself +<p> +For a long time, <b>tifftopnm</b> did not understand fillorder itself and assumed the fillorder was MSB-to-LSB regardless of the fillorder tag in the TIFF header. And as far as I know, there is no legitimate reason to use a fillorder other than MSB-to-LSB. So users of -<B>tifftopnm</B> were happily using those TIFF images that had +<b>tifftopnm</b> were happily using those TIFF images that had incorrect fillorder tags. -<P> -So that those users can continue to be happy, <B>tifftopnm</B> today +<p> +So that those users can continue to be happy, <b>tifftopnm</b> today continues to ignore the fillorder tag unless you tell it not to. (It does, however, warn you when the fillorder tag does not say MSB-to-LSB that the tag is being ignored). -<P> +<p> If for some reason you have a TIFF image that actually has LSB-to-MSB fillorder, and its fillorder tag correctly indicates that, you must -use the <B>-respectfillorder</B> option on <B>tifftopnm</B> to get +use the <b>-respectfillorder</b> option on <b>tifftopnm</b> to get proper results. -<P> -Examples of incorrect TIFF images are at <A -HREF="ftp://weather.noaa.gov.">ftp://weather.noaa.gov.</A> They are -apparently created by a program called <B>faxtotiff</B>. +<p> +Examples of incorrect TIFF images are at <a +href="ftp://weather.noaa.gov.">ftp://weather.noaa.gov.</a> They are +apparently created by a program called <b>faxtotiff</b>. -<P> +<p> This note was written on January 1, 2002. -<h3 id="cmyk">Color Separation (CMYK) TIFFs</H3> +<h3 id="cmyk">Color Separation (CMYK) TIFFs</h3> <p>Some TIFF images contain color information in CMYK form, whereas PNM images use RGB. There are various formulas for converting between these @@ -307,36 +311,36 @@ Row By Row mode. Y=(1-K)*(1-B) formula always. -<H2 id="seealso">SEE ALSO</H2> +<h2 id="seealso">SEE ALSO</h2> -<B><A HREF="pnmtotiff.html">pnmtotiff</A></B>, -<B><A HREF="pnmtotiffcmyk.html">pnmtotiffcmyk</A></B>, -<B><A HREF="pamcomp.html">pamcomp</A></B>, -<B><A HREF="pnm.html">pnm</A></B> +<b><a href="pnmtotiff.html">pnmtotiff</a></b>, +<b><a href="pnmtotiffcmyk.html">pnmtotiffcmyk</a></b>, +<b><a href="pamcomp.html">pamcomp</a></b>, +<b><a href="pnm.html">pnm</a></b> -<H2 id="author">AUTHOR</H2> +<h2 id="author">AUTHOR</h2> <p>Derived by Jef Poskanzer from tif2ras.c, which is Copyright (c) -1990 by Sun Microsystems, Inc. Author: Patrick J. Naughton (<A -HREF="mailto:naughton@wind.sun.com">naughton@wind.sun.com</A>). - -<HR> -<H2 id="index">Table Of Contents</H2> -<UL> - <LI><A HREF="#synopsis">SYNOPSIS</A> - <LI><A HREF="#description">DESCRIPTION</A> +1990 by Sun Microsystems, Inc. Author: Patrick J. Naughton (<a +href="mailto:naughton@wind.sun.com">naughton@wind.sun.com</a>). + +<hr> +<h2 id="index">Table Of Contents</h2> +<ul> +<li><a href="#synopsis">SYNOPSIS</a> +<li><a href="#description">DESCRIPTION</a> + <ul> + <li><a href="#library">TIFF Capability</a> + <li><a href="#output">Output Image</a> + </ul> +<li><a href="#options">OPTIONS</a> +<li><a href="#notes">NOTES</a> <ul> - <LI><A HREF="#library">Tiff Capability</A> - <LI><A HREF="#output">Output Image</A> - </ul> - <LI><A HREF="#options">OPTIONS</A> - <LI><A HREF="#notes">NOTES</A> - <UL> - <LI><A HREF="#fillorder">Fillorder</A> - <LI><A HREF="#cmyk">Color Separation (CMYK) TIFFs</A> - </UL> - <LI><A HREF="#seealso">SEE ALSO</A> - <LI><A HREF="#author">AUTHOR</A> - </UL> -</BODY> -</HTML> + <li><a href="#fillorder">Fillorder</a> + <li><a href="#cmyk">Color Separation (CMYK) TIFFs</a> + </ul> +<li><a href="#seealso">SEE ALSO</a> +<li><a href="#author">AUTHOR</a> +</ul> +</body> +</html> diff --git a/winicon.html b/winicon.html index 81748bf9..71c83b4d 100644 --- a/winicon.html +++ b/winicon.html @@ -73,11 +73,11 @@ invented in the mid-eighties for Windows 1: <UL> <LI>Windows 1 used monochrome 32x32 icons only. <LI>Windows 3.0 added color icons with bpp values up to 8. -<LI>Windows 4.0 (a.k.a. Windows95) added support for 32-bpp images and +<LI>Windows 4.0 (a.k.a. Windows95) added option for 32-bpp images and resolutions up to 256 by 256. -<LI>NT 5.1 (a.k.a. Windows XP) added support for the 8-bit +<LI>NT 5.1 (a.k.a. Windows XP) added option for the 8-bit transparency channel in the unused bits of 32-bpp images. -<LI>NT 6.0 (a.k.a. Windows Vista) added support for PNG +<LI>NT 6.0 (a.k.a. Windows Vista) added option for PNG encoded images </UL> |