mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
\section{\module{jpeg} ---
 | 
						|
         Read and write image files in compressed JPEG format.}
 | 
						|
\declaremodule{builtin}{jpeg}
 | 
						|
 | 
						|
\modulesynopsis{Read and write image files in compressed JPEG format.}
 | 
						|
 | 
						|
 | 
						|
The module \module{jpeg} provides access to the jpeg compressor and
 | 
						|
decompressor written by the Independent JPEG Group%
 | 
						|
\index{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 \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 first
 | 
						|
pixel 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 being
 | 
						|
treated as greyscale and the latter as RGB color.
 | 
						|
\function{compress()} returns a string that contains the compressed
 | 
						|
picture, in JFIF\index{JFIF} format.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{decompress}{data}
 | 
						|
Data is a string containing a picture in JFIF\index{JFIF} format. It
 | 
						|
returns 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 following
 | 
						|
options 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}
 |