giftopnm1
Convert a gif file into a pnm image
Usage
giftopnm [--alphaout={alpha-filename,-}] [-verbose] [-comments] [-image={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.
Overview
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 output 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 message 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
Common Options ⟨index.html#commonoptions⟩ ), giftopnm recognizes the following command line options:
-
--alphaout=alpha-filename -
giftopnm creates a PBM file containing the transparency information 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,giftopnmdoes not generate a transparency file, and if the input image has a transparency channel,giftopnmsimply discards it.If you specify
-as the filename,giftopnmwrites the transparency 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,
giftopnmissues messages showing the GIF comments (A GIF89 stream can contain comments in comment extensions).By default,
giftopnmignores 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,
giftopnmmust 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
allvalue was added in Netpbm 10.16 (June 2003). Earliergiftopnmcan extract only one image.
-
-repair -
This option makes
giftopnmtry to salvage what it can from an invalid GIF input.In particular, when
giftopnmdetects that the GIF input is invalid so that it is impossible to determine what the pixels are intended to be, it produces a single arbitrary color for all further pixels in the image.giftopnmprocesses the image from top to bottom, left to right, so this means the bottommost pixels will be this padding.giftopnmissues warning messages when it salvages an image in this way.Without this option,
giftopnmfails 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,
giftopnmalways fails if it detects invalid GIF input. Before 10.32, it succeeds in the case of a truncated image, 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
giftopnmstop reading its input file as soon as it has converted and output the images from the input that you requested. By default,giftopnmreads 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
giftopnmfail.This option has no effect if you also specify
-image=allThis option was new in Netpbm 10.35 (August 2006). Before that,
giftopnmalways 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.
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
Releases
16 releases since Debian 2.0 (Hamm); the text changed 4 times.
--alphaout since Debian 3.0 (Woody);
-quitearly since Debian 12 (Bookworm);
-repair since Debian 12 (Bookworm).