summaryrefslogtreecommitdiff
path: root/Doc/libimghdr.tex
blob: bf1c0ef4e06e4c8d5184ebb150e0e0733d72449f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
\section{Standard Module \sectcode{imghdr}}
\label{module-imghdr}
\stmodindex{imghdr}

The \module{imghdr} module determines the type of image contained in a
file or byte stream.

The \module{imghdr} module defines the following function:


\begin{funcdesc}{what}{filename\optional{, h}}
Tests the image data contained in the file named by \var{filename},
and returns a string describing the image type.  If optional \var{h}
is provided, the \var{filename} is ignored and \var{h} is assumed to
contain the byte stream to test.
\end{funcdesc}

The following image types are recognized, as listed below with the
return value from \function{what()}:

\begin{tableii}{|l|l|}{code}{Value}{Image format}
  \lineii{'rgb'}{SGI ImgLib Files}
  \lineii{'gif'}{GIF 87a and 89a Files}
  \lineii{'pbm'}{Portable Bitmap Files}
  \lineii{'pgm'}{Portable Graymap Files}
  \lineii{'ppm'}{Portable Pixmap Files}
  \lineii{'tiff'}{TIFF Files}
  \lineii{'rast'}{Sun Raster Files}
  \lineii{'xbm'}{X Bitmap Files}
  \lineii{'jpeg'}{JPEG data in JIFF format}
\end{tableii}

You can extend the list of file types \module{imghdr} can recognize by
appending to this variable:

\begin{datadesc}{tests}
A list of functions performing the individual tests.  Each function
takes two arguments: the byte-stream and an open file-like object.
When \function{what()} is called with a byte-stream, the file-like
object will be \code{None}.

The test function should return a string describing the image type if
the test succeeded, or \code{None} if it failed.
\end{datadesc}

Example:

\begin{verbatim}
>>> import imghdr
>>> imghdr.what('/tmp/bass.gif')
'gif'
\end{verbatim}