summaryrefslogtreecommitdiff
path: root/sys/src/cmd/python/Doc/lib/libimageop.tex
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
commit458120dd40db6b4df55a4e96b650e16798ef06a0 (patch)
tree8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Doc/lib/libimageop.tex
parent3a742c699f6806c1145aea5149bf15de15a0afd7 (diff)
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Doc/lib/libimageop.tex')
-rw-r--r--sys/src/cmd/python/Doc/lib/libimageop.tex100
1 files changed, 100 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Doc/lib/libimageop.tex b/sys/src/cmd/python/Doc/lib/libimageop.tex
new file mode 100644
index 000000000..0f732bf67
--- /dev/null
+++ b/sys/src/cmd/python/Doc/lib/libimageop.tex
@@ -0,0 +1,100 @@
+\section{\module{imageop} ---
+ Manipulate raw image data}
+
+\declaremodule{builtin}{imageop}
+\modulesynopsis{Manipulate raw image data.}
+
+
+The \module{imageop} module contains some useful operations on images.
+It operates on images consisting of 8 or 32 bit pixels stored in
+Python strings. This is the same format as used by
+\function{gl.lrectwrite()} and the \refmodule{imgfile} module.
+
+The module defines the following variables and functions:
+
+\begin{excdesc}{error}
+This exception is raised on all errors, such as unknown number of bits
+per pixel, etc.
+\end{excdesc}
+
+
+\begin{funcdesc}{crop}{image, psize, width, height, x0, y0, x1, y1}
+Return the selected part of \var{image}, which should be
+\var{width} by \var{height} in size and consist of pixels of
+\var{psize} bytes. \var{x0}, \var{y0}, \var{x1} and \var{y1} are like
+the \function{gl.lrectread()} parameters, i.e.\ the boundary is
+included in the new image. The new boundaries need not be inside the
+picture. Pixels that fall outside the old image will have their value
+set to zero. If \var{x0} is bigger than \var{x1} the new image is
+mirrored. The same holds for the y coordinates.
+\end{funcdesc}
+
+\begin{funcdesc}{scale}{image, psize, width, height, newwidth, newheight}
+Return \var{image} scaled to size \var{newwidth} by \var{newheight}.
+No interpolation is done, scaling is done by simple-minded pixel
+duplication or removal. Therefore, computer-generated images or
+dithered images will not look nice after scaling.
+\end{funcdesc}
+
+\begin{funcdesc}{tovideo}{image, psize, width, height}
+Run a vertical low-pass filter over an image. It does so by computing
+each destination pixel as the average of two vertically-aligned source
+pixels. The main use of this routine is to forestall excessive
+flicker if the image is displayed on a video device that uses
+interlacing, hence the name.
+\end{funcdesc}
+
+\begin{funcdesc}{grey2mono}{image, width, height, threshold}
+Convert a 8-bit deep greyscale image to a 1-bit deep image by
+thresholding all the pixels. The resulting image is tightly packed and
+is probably only useful as an argument to \function{mono2grey()}.
+\end{funcdesc}
+
+\begin{funcdesc}{dither2mono}{image, width, height}
+Convert an 8-bit greyscale image to a 1-bit monochrome image using a
+(simple-minded) dithering algorithm.
+\end{funcdesc}
+
+\begin{funcdesc}{mono2grey}{image, width, height, p0, p1}
+Convert a 1-bit monochrome image to an 8 bit greyscale or color image.
+All pixels that are zero-valued on input get value \var{p0} on output
+and all one-value input pixels get value \var{p1} on output. To
+convert a monochrome black-and-white image to greyscale pass the
+values \code{0} and \code{255} respectively.
+\end{funcdesc}
+
+\begin{funcdesc}{grey2grey4}{image, width, height}
+Convert an 8-bit greyscale image to a 4-bit greyscale image without
+dithering.
+\end{funcdesc}
+
+\begin{funcdesc}{grey2grey2}{image, width, height}
+Convert an 8-bit greyscale image to a 2-bit greyscale image without
+dithering.
+\end{funcdesc}
+
+\begin{funcdesc}{dither2grey2}{image, width, height}
+Convert an 8-bit greyscale image to a 2-bit greyscale image with
+dithering. As for \function{dither2mono()}, the dithering algorithm
+is currently very simple.
+\end{funcdesc}
+
+\begin{funcdesc}{grey42grey}{image, width, height}
+Convert a 4-bit greyscale image to an 8-bit greyscale image.
+\end{funcdesc}
+
+\begin{funcdesc}{grey22grey}{image, width, height}
+Convert a 2-bit greyscale image to an 8-bit greyscale image.
+\end{funcdesc}
+
+\begin{datadesc}{backward_compatible}
+If set to 0, the functions in this module use a non-backward
+compatible way of representing multi-byte pixels on little-endian
+systems. The SGI for which this module was originally written is a
+big-endian system, so setting this variable will have no effect.
+However, the code wasn't originally intended to run on anything else,
+so it made assumptions about byte order which are not universal.
+Setting this variable to 0 will cause the byte order to be reversed on
+little-endian systems, so that it then is the same as on big-endian
+systems.
+\end{datadesc}