80 lines · 3.1 KB · TeX
RawDownload
\section{\module{jpeg} ---         Read and write JPEG files} \declaremodule{builtin}{jpeg}  \platform{IRIX}\modulesynopsis{Read and write image files in compressed JPEG format.}  The module \module{jpeg} provides access to the jpeg compressor anddecompressor written by the Independent JPEG Group\index{Independent JPEG Group}(IJG). JPEG is a standard forcompressing pictures; it is defined in ISO 10918.  For details on JPEGor the Independent JPEG Group software refer to the JPEG standard orthe documentation provided with the software. A portable interface to JPEG image files is available with the PythonImaging Library (PIL) by Fredrik Lundh.  Information on PIL isavailable at \url{http://www.pythonware.com/products/pil/}.\index{Python Imaging Library}\index{PIL (the Python Imaging Library)}\index{Lundh, Fredrik} The \module{jpeg} module defines an exception and some functions. \begin{excdesc}{error}Exception raised by \function{compress()} and \function{decompress()}in case of errors.\end{excdesc} \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 firstpixel is in the lower-left corner. This means that \function{gl.lrectread()}return data can immediately be passed to \function{compress()}.Currently only 1 byte and 4 byte pixels are allowed, the former beingtreated as greyscale and the latter as RGB color.\function{compress()} returns a string that contains the compressedpicture, in JFIF\index{JFIF} format.\end{funcdesc} \begin{funcdesc}{decompress}{data}Data is a string containing a picture in JFIF\index{JFIF} format. Itreturns a tuple \code{(\var{data}, \var{width}, \var{height},\var{bytesperpixel})}.  Again, the data is suitable to pass to\function{gl.lrectwrite()}.\end{funcdesc} \begin{funcdesc}{setoption}{name, value}Set various options.  Subsequent \function{compress()} and\function{decompress()} calls will use these options.  The followingoptions are available: \begin{tableii}{l|p{3in}}{code}{Option}{Effect}  \lineii{'forcegray'}{%    Force output to be grayscale, even if input is RGB.}  \lineii{'quality'}{%    Set the quality of the compressed image to a value between    \code{0} and \code{100} (default is \code{75}).  This only affects    compression.}  \lineii{'optimize'}{%    Perform Huffman table optimization.  Takes longer, but results in    smaller compressed image.  This only affects compression.}  \lineii{'smooth'}{%    Perform inter-block smoothing on uncompressed image.  Only useful    for low-quality images.  This only affects decompression.}\end{tableii}\end{funcdesc}  \begin{seealso}  \seetitle{JPEG Still Image Data Compression Standard}{The             canonical reference for the JPEG image format, by            Pennebaker and Mitchell.}   \seetitle[http://www.w3.org/Graphics/JPEG/itu-t81.pdf]{Information            Technology - Digital Compression and Coding of            Continuous-tone Still Images - Requirements and            Guidelines}{The ISO standard for JPEG is also published as            ITU T.81.  This is available online in PDF form.}\end{seealso}