ImageMagick: MagickCore, C API for ImageMagick: Composite an Image
Author: ImageMagick Studio LLC
Description: ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (P [cell cut: 1167 characters, first 1000 kept]
Keywords: magickcore, c, api, for, imagemagick:, composite, an, image, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing

Unix
Mac OS X
Windows
Processing
Options
Usage
MagickWand
MagickCore
PerlMagick
Magick++
Unix
Windows
Links

## 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 *composite_image,
        const ssize_t x_offset,const ssize_t y_offset)
      MagickBooleanType CompositeImageChannel(Image *image,
        const ChannelType channel,const CompositeOperator compose,
        Image *composite_image,const ssize_t x_offset,const ssize_t y_offset)

A description of each parameter follows:

##### image

the destination 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.

##### composite_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 'composite_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 'composite_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 composite_image. Typically used for repeated tiling of the composite_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.

Discourse Server • Studio