cpython-withatomic / Doc / libjpeg.tex

The branch 'legacy-trunk' does not exist.
\section{Built-in Module \sectcode{jpeg}}
\bimodindex{jpeg}

The module jpeg provides access to the jpeg compressor and
decompressor written by the Independent JPEG Group. JPEG is a (draft?)
standard for compressing pictures.  For details on jpeg or the
Independent JPEG Group software refer to the JPEG standard or the
documentation provided with the software.

The jpeg module defines these functions:

\renewcommand{\indexsubitem}{(in module jpeg)}
\begin{funcdesc}{compress}{data\, w\, h\, b}
Treat data as a pixmap of width w and height h, with b bytes per
pixel.  The data is in SGI GL order, so the first pixel is in the
lower-left corner. This means that lrectread return data can
immedeately be passed to compress.  Currently only 1 byte and 4 byte
pixels are allowed, the former being treated as greyscale and the
latter as RGB color.  Compress returns a string that contains the
compressed picture, in JFIF format.
\end{funcdesc}

\begin{funcdesc}{decompress}{data}
Data is a string containing a picture in JFIF format. It returns a
tuple
\code{(\var{data}, \var{width}, \var{height}, \var{bytesperpixel})}.
Again, the data is suitable to pass to lrectwrite.
\end{funcdesc}

\begin{funcdesc}{setoption}{name\, value}
Set various options.  Subsequent compress and decompress calls
will use these options.  The following options are available:
\begin{description}
\item[\code{'forcegray'}]
Force output to be grayscale, even if input is RGB.

\item[\code{'quality'}]
Set the quality of the compressed image to a
value between \code{0} and \code{100} (default is \code{75}).  Compress only.

\item[\code{'optimize'}]
Perform Huffman table optimization.  Takes longer, but results in
smaller compressed image.  Compress only.

\item[\code{'smooth'}]
Perform inter-block smoothing on uncompressed image.  Only useful for
low-quality images.  Decompress only.
\end{description}
\end{funcdesc}

Compress and uncompress raise the error jpeg.error in case of errors.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.