ImageMagick: MagickCore, C API for ImageMagick: Composite an Image
Author: ImageMagick Studio LLC
Description: ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.
Keywords: magickcore, c, api, for, imagemagick:, composite, an, image, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert

CompositeImageChannel • TextureImage

## CompositeImageChannel

CompositeImageChannel() returns the second image composited onto the first at the specified offset, using the specified composite method.

The format of the CompositeImageChannel method is:

    MagickBooleanType CompositeImage(Image *image,
      const CompositeOperator compose,Image *source_image,
      const ssize_t x_offset,const ssize_t y_offset)
    MagickBooleanType CompositeImageChannel(Image *image,
      const ChannelType channel,const CompositeOperator compose,
      Image *source_image,const ssize_t x_offset,const ssize_t y_offset)

A description of each parameter follows:

image
  the canvas image, modified by he composition
channel
  the channel.
compose
  This operator affects how the composite is applied to the image. The operators and how they are utilized are listed here http://www.w3.org/TR/SVG12/#compositing.
source_image
  the composite (source) image.
x_offset
  the column offset of the composited image.
y_offset
  the row offset of the composited image.
  Extra Controls from Image meta-data in 'source_image' (artifacts)
  o "compose:args" A string containing extra numerical arguments for specific compose methods, generally expressed as a 'geometry' or a comma separated list of numbers.
  Compose methods needing such arguments include "BlendCompositeOp" and "DisplaceCompositeOp".
  o "compose:outside-overlay" Modify how the composition is to effect areas not directly covered by the 'source_image' at the offset given. Normally this is dependant on the 'compose' method, especially Duff-Porter methods.
  If set to "false" then disable all normal handling of pixels not covered by the source_image. Typically used for repeated tiling of the source_image by the calling API.
  Previous to IM v6.5.3-3 this was called "modify-outside-overlay"

## TextureImage

TextureImage() repeatedly tiles the texture image across and down the image canvas.

The format of the TextureImage method is:

    MagickBooleanType TextureImage(Image *image,const Image *texture)

A description of each parameter follows:

image
  the image.
texture
  This image is the texture to layer on the background.