dwww Home | Manual pages | Find package

Giftopnm User Manual(1)     General Commands Manual     Giftopnm User Manual(1)

NAME
       giftopnm - convert a GIF file into a PNM image

SYNOPSIS
       giftopnm  [--alphaout={alpha-filename,-}]  [-verbose]  [-comments] [-im-
       age={N,all}] [-repair] [-quitearly] [GIFfile]

       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.

DESCRIPTION
       This program is part of Netpbm(1).

       This is a graphics format converter from the GIF format to the PNM (i.e.
       PBM, PGM, or PPM) format.

       If the image contains only black and maximally bright white, the  output
       is  PBM.   If  the  image  contains more than those two colors, but only
       grays, the output is PGM.  If the image contains other colors, the  out-
       put is PPM.

        A GIF image contains rectangular pixels.  They all have the same aspect
       ratio,  but  may not be square (it's actually quite unusual for them not
       to be square, but it could happen).  The pixels of a  Netpbm  image  are
       always  square.   Because of the engineering complexity to do otherwise,
       giftopnm converts a GIF image to a Netpbm image  pixel-for-pixel.   This
       means  if the GIF pixels are not square, the Netpbm output image has the
       wrong aspect ratio.  In this case, giftopnm issues an informational mes-
       sage telling you to run pamscale to correct the output.

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

       --alphaout=alpha-filename
              giftopnm  creates a PBM file containing the transparency informa-
              tion from the input image.  This transparency image is  the  same
              dimensions as the input image, and each pixel of the transparency
              image tells whether the corresponding pixel of the input image is
              transparent.   Black  means  transparent; white means opaque.  If
              you don't specify --alphaout, giftopnm does not generate a trans-
              parency file, and if the input image has a transparency  channel,
              giftopnm simply discards it.

              If  you  specify  -  as  the filename, giftopnm writes the trans-
              parency output to Standard Output and discards the image.

              See pamcomp(1) for one way to use the transparency output file.

       -verbose
              Produce verbose output about the GIF file input.

       -comments
              With this option, giftopnm issues messages showing the  GIF  com-
              ments  (A  GIF89  stream  can  contain comments in comment exten-
              sions).

              By default, giftopnm ignores comment extensions.

       -image={N,all}
              This option identifies which image from the GIF stream you  want.
              You  can  select  either one image or all the images.  Select all
              the images with all.  Select one image by specifying its sequence
              number in the stream: 1, 2, 3, etc.

              The default is just Image 1.

              A GIF stream normally contains only one image, so you don't  need
              this  option.   But  some  streams, including animated GIFs, have
              multiple images.

              When you select multiple GIF images, the output is a  PNM  stream
              with multiple images.

              If  you  specify a single image, giftopnm must read and partially
              validate the images before that in the stream.  It may or may not
              do the same for the images after it; see -quitearly.

              The all value was added in Netpbm  10.16  (June  2003).   Earlier
              giftopnm can extract only one image.

       -repair
              This option makes giftopnm try to salvage what it can from an in-
              valid GIF input.

              In  particular,  when  giftopnm detects that the GIF input is in-
              valid so that it is impossible to determine what the  pixels  are
              intended to be, it produces a single arbitrary color for all fur-
              ther  pixels in the image.  giftopnm processes the image from top
              to bottom, left to right, so this  means  the  bottommost  pixels
              will be this padding.

              giftopnm  issues  warning  messages  when it salvages an image in
              this way.

              Without this option, giftopnm fails when it detects  invalid  GIF
              input.  Any output it produces is arbitrary, and typically is not
              a valid PNM image.

              It  is  fairly  common  for an image to be corrupted such that is
              started off as a valid GIF, but had the end of the file cut  off.
              An  interrupted network transfer tends to do this.  In this case,
              giftopnm's salvage operation will produce a valid  PNM  image  of
              the  proper dimensions, but with a single arbitrary color for the
              pixels that were left out of the file.

              This option was new in Netpbm 10.38  (March  2007).   From  10.32
              through  10.37,  giftopnm  always fails if it detects invalid GIF
              input.  Before 10.32, it succeeds in the case of a truncated  im-
              age,  and  replaces the missing pixels with arbitrary colors, not
              necessarily all the same (The pre-10.32 behavior wasn't  actually
              intended by the design).

       -quitearly
              This option makes giftopnm stop reading its input file as soon as
              it  has  converted  and output the images from the input that you
              requested.  By default, giftopnm reads until the end of  the  GIF
              stream, ignoring any data after the images you requested.

              Two reasons not to use this option:

       •      The  input  file  is  a pipe and the process that is filling that
              pipe expects the pipe to take the entire stream and will fail  or
              get stuck if it doesn't.

       •      You want to validate the entire GIF stream.

              Two reasons to use this option:

       •      It  saves  the  time  and  other resources to read the end of the
              stream.

       •      There are errors in the end of  the  stream  that  make  giftopnm
              fail.

              This option has no effect if you also specify -image=all

              This  option was new in Netpbm 10.35 (August 2006).  Before that,
              giftopnm always reads the entire stream.

RESTRICTIONS
       This does not correctly handle the Plain Text  Extension  of  the  GIF89
       standard, since I did not have any example input files containing them.

SEE ALSO
       pamtogif(1), ppmcolormask(1), pamcomp(1), ]8;;http://www.lcdf.org/gifsicle\http://www.lcdf.org/gifsicle]8;;\ ,
       ppm(1).

AUTHOR
       Copyright (c) 1993 by David Koblas (koblas@netcom.com)

LICENSE
       As a historical note, for a long time if you used giftopnm, you were us-
       ing  a  patent  on the LZW compression method which was owned by Unisys,
       and in all probability you did not have a license from Unisys to do  so.
       Unisys  typically  asked  $5000  for  a  license  for trivial use of the
       patent.  Unisys never enforced the patent  against  trivial  users,  and
       made  statements  that  it is much less concerned about people using the
       patent for decompression (which is what giftopnm does than for  compres-
       sion.  The patent expired in 2003.

       Rumor has it that IBM also owns a patent covering giftopnm.

       A  replacement for the GIF format that has never required any patent li-
       cense to use is the PNG format.

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

              http://netpbm.sourceforge.net/doc/giftopnm.html

netpbm documentation           13 September 2012        Giftopnm User Manual(1)

Generated by dwww version 1.16 on Tue Dec 16 04:50:45 CET 2025.