BUILT-IN MATHEMATICA SYMBOL

# ImageCompose

ImageCompose[image, overlay]
gives the result of overlaying overlay onto image.

ImageCompose[image, {overlay, }]
gives the result of alpha blending overlay into image using blending fraction .

ImageCompose[image, overlay, pos]
places the center of overlay at position pos in image.

ImageCompose[image, overlay, pos, opos]
places the point opos in overlay at position pos in image.

ImageCompose[image, overlay, pos, opos, {fi, fo, mode}]
uses the compositing fractions and the specified compositing mode.

## DetailsDetails

• ImageCompose[image, ...] always gives an image with the same pixel size as image.
• ImageCompose[image, overlay] does alpha blending if overlay has an alpha channel.
• ImageCompose[image, {overlay, }] effectively sets the alpha value for overlay to , or multiplies an existing alpha channel by .
• ImageCompose[image, overlay] composes overlay pixel-by-pixel onto image, without changing the size of overlay.
• The overlay can be either an explicit image object, or a graphics object that is automatically rasterized to have the same image size as image.
• ImageCompose[image, overlay] centers overlay in image.
• The position pos in image or the position opos in overlay can be specified in the following ways:
•  {x,y} absolute pixel offset from the bottom-left corner Scaled[{sx,sy}] scaled position from 0 to 1 across the object {posx,posy} named and positions
• Possible named positions include Top, Bottom, Left, Right, Center.
• If only one of and is given, the other is assumed to be Center.
• The pixel offsets can be negative, indicating a point outside of image or overlay.
• ImageCompose[image, ...] yields an image with an alpha channel only if image has an alpha channel.
• ImageCompose[{image, i}, ...] effectively adds an alpha channel with value to image.
• ImageCompose[..., {fi, fo, mode}] combines a fraction of every pixel value in image with a fraction of every pixel value in overlay, in all cases taking account of alpha channels.
• With value for mode, overlay is treated as on top of image. With value it is treated as underneath. And with value , image and overlay are treated symmetrically.
• The following choices of correspond to standard Duff-Porter compositing operators:
•  {1,1,1} object "over" image (default) {0,1,1} object "atop" image {1,0,1} object {0,0,1} object "in" image {1,1,0} "xor" operation {0,1,0} image "out" object {1,0,0} object "out" image {0,0,0} "clear" image {1,1,-1} image "over" object {0,1,-1} image {1,0,-1} image "atop" object {0,0,-1} image "in" object
• The "over" operators given by and effectively perform alpha blending.
• The "in" operators given by and mask one image with the alpha channel of the other image.
• The "out" operators and mask one image with the complement of the alpha channel of the other image.
• The "atop" operators given by and effectively combine the alpha channels of the two images before performing alpha blending.
• ImageCompose[image, {o1, o2, ...}] composes multiple images onto image.
• Using ImageCompose[image, {{o1, 1}, ...}], different alpha values can be set for different overlays.
• Corresponding lists of positions, overlay positions, and compositing fractions and modes can also be specified when composing with multiple overlays.

## ExamplesExamplesopen allclose all

### Basic Examples (5)Basic Examples (5)

Overlay images that are partially transparent:

 Out[2]=

Specify a scaled position for the center of the overlay:

 Out[1]=

Specify an explicit position for the overlay:

 Out[1]=

Specify an alpha-blending parameter:

 Out[1]=

Overlay two partially transparent images:

 Out[1]=