







The PIL.ImageChops Module

The ImageChops module contains a number of arithmetical image
operations, called 
channel operations ("chops"). These can be
used for various purposes, including special effects, image
compositions, algorithmic painting, and more.

At this time, channel operations are only implemented for 8-bit
images (e.g. "L" and "RGB").

Most channel operations take one or two image arguments and returns
a new image.  Unless otherwise noted, the result of a channel
operation is always clipped to the range 0 to MAX (which is 255 for
all modes supported by the operations in this module).
Module Contents


add(image1, image2, scale=1.0, offset=0)  [ #PIL.ImageChops.add-function# ]

Add images
((image1 + image2) / scale + offset).

Adds two images, dividing the result by scale and adding the
offset. If omitted, scale defaults to 1.0, and offset to 0.0.


image1

First image.

image1

Second image.

Returns:

An image object.



add_modulo(image1, image2)  [ #PIL.ImageChops.add_modulo-function# ]

Add images without clipping
((image1 + image2) % MAX).

Adds two images, without clipping the result.


image1

First image.

image1

Second image.

Returns:

An image object.



blend(image1, image2, alpha)  [ #PIL.ImageChops.blend-function# ]

Blend images using constant transparency weight.

Same as the 
blend function in the Image module.

composite(image1, image2, mask)  [ #PIL.ImageChops.composite-function# ]

Create composite using transparency mask.

Same as the 
composite function in the Image module.

constant(image, value)  [ #PIL.ImageChops.constant-function# ]

Return an image with the same size as the given image, but filled
with the given pixel value.


image

Reference image.

value

Pixel value.

Returns:

An image object.



darker(image1, image2)  [ #PIL.ImageChops.darker-function# ]

Compare images, and return darker pixel value
(min(image1, image2)).

Compares the two images, pixel by pixel, and returns a new image
containing the darker values.


image1

First image.

image1

Second image.

Returns:

An image object.



difference(image1, image2)  [ #PIL.ImageChops.difference-function# ]

Calculate absolute difference
(abs(image1 - image2)).

Returns the absolute value of the difference between the two images.


image1

First image.

image1

Second image.

Returns:

An image object.



duplicate(image)  [ #PIL.ImageChops.duplicate-function# ]

Copy image.


image

Source image.

Returns:

A copy of the source image.



invert(image)  [ #PIL.ImageChops.invert-function# ]

Inverts an image
(MAX - image).


image

Source image.

Returns:

An image object.



lighter(image1, image2)  [ #PIL.ImageChops.lighter-function# ]

Compare images, and return lighter pixel value
(max(image1, image2)).

Compares the two images, pixel by pixel, and returns a new image
containing the lighter values.


image1

First image.

image1

Second image.

Returns:

An image object.



logical_and(image1, image2)  [ #PIL.ImageChops.logical_and-function# ]

Logical AND
(image1 and image2).


logical_or(image1, image2)  [ #PIL.ImageChops.logical_or-function# ]

Logical OR
(image1 or image2).


logical_xor(image1, image2)  [ #PIL.ImageChops.logical_xor-function# ]

Logical XOR
(image1 xor image2).


multiply(image1, image2)  [ #PIL.ImageChops.multiply-function# ]

Superimpose positive images
(image1 * image2 / MAX).

Superimposes two images on top of each other. If you multiply an
image with a solid black image, the result is black. If you multiply
with a solid white image, the image is unaffected.


image1

First image.

image1

Second image.

Returns:

An image object.



offset(image, xoffset, yoffset=None)  [ #PIL.ImageChops.offset-function# ]

Offset image data.

Returns a copy of the image where data has been offset by the given
distances.  Data wraps around the edges.  If yoffset is omitted, it
is assumed to be equal to xoffset.


image

Source image.

xoffset

The horizontal distance.

yoffset

The vertical distance.  If omitted, both
   distances are set to the same value.

Returns:

An Image object.



screen(image1, image2)  [ #PIL.ImageChops.screen-function# ]

Superimpose negative images
(MAX - ((MAX - image1) * (MAX - image2) / MAX)).

Superimposes two inverted images on top of each other.


image1

First image.

image1

Second image.

Returns:

An image object.



subtract(image1, image2, scale=1.0, offset=0)  [ #PIL.ImageChops.subtract-function# ]

Subtract images
((image1 - image2) / scale + offset).

Subtracts two images, dividing the result by scale and adding the
offset. If omitted, scale defaults to 1.0, and offset to 0.0.


image1

First image.

image1

Second image.

Returns:

An image object.



subtract_modulo(image1, image2)  [ #PIL.ImageChops.subtract_modulo-function# ]

Subtract images without clipping
((image1 - image2) % MAX).

Subtracts two images, without clipping the result.


image1

First image.

image1

Second image.

Returns:

An image object.





