| \section{Built-in Module \sectcode{jpeg}} |
| \label{module-jpeg} |
| \bimodindex{jpeg} |
| |
| The module \code{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 \code{jpeg} module defines these functions: |
| |
| \renewcommand{\indexsubitem}{(in module jpeg)} |
| \begin{funcdesc}{compress}{data\, w\, h\, b} |
| Treat data as a pixmap of width \var{w} and height \var{h}, with \var{b} bytes per |
| pixel. The data is in SGI GL order, so the first pixel is in the |
| lower-left corner. This means that \code{lrectread} return data can |
| immediately 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 \code{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 \code{jpeg.error} in case of errors. |