composite function

Image Composite

Image Composite

Similar to the ImageMagick composite utility: compose an image on top of another one using a CompositeOperator.

image_composite( image, composite_image, operator = "atop", offset = "+0+0", gravity = "northwest", compose_args = "" ) image_border(image, color = "lightgray", geometry = "10x10", operator = "copy") image_frame(image, color = "lightgray", geometry = "25x25+6+6") image_shadow_mask(image, geometry = "50x10+30+30") image_shadow( image, color = "black", bg = "none", geometry = "50x10+30+30", operator = "copy", offset = "+20+20" ) image_shade(image, azimuth = 30, elevation = 30, color = FALSE)

Arguments

  • image: magick image object returned by image_read() or image_graph()

  • composite_image: composition image

  • operator: string with a composite operator

    from compose_types()

  • offset: string with either a gravity_type or a geometry_point

    to set position of top image.

  • gravity: string with gravity

    value from gravity_types .

  • compose_args: additional arguments needed for some composite operations

  • color: Set to true to shade the red, green, and blue components of the image.

  • geometry: a geometry string

    to set height and width of the border, e.g. "10x8". In addition image_frame allows for adding shadow by setting an offset e.g. "20x10+7+2".

  • bg: background color

  • azimuth: position of light source

  • elevation: position of light source

Details

The image_composite function is vectorized over both image arguments: if the first image has n frames and the second m frames, the output image will contain n * m frames.

The image_border function creates a slightly larger solid color frame and then composes the original frame on top. The image_frame function is similar but has an additional feature to create a shadow effect on the border (which is really ugly).

Examples

# Compose images using one of many operators imlogo <- image_scale(image_read("logo:"), "x275") rlogo <- image_read("https://jeroen.github.io/images/Rlogo-old.png") # Standard is atop image_composite(imlogo, rlogo) # Same as 'blend 50' in the command line image_composite(imlogo, rlogo, operator = "blend", compose_args="50") # Offset can be geometry or gravity image_composite(logo, rose, offset = "+100+100") image_composite(logo, rose, gravity = "East") # Add a border frame around the image image_border(imlogo, "red", "10x10") image_frame(imlogo) image_shadow(imlogo) image_shade(imlogo)

See Also

Other image: _index_, analysis, animation, attributes(), color, defines, device, edges, editing, effects(), fx, geometry, morphology, ocr, options(), painting, segmentation, transform(), video

  • Maintainer: Jeroen Ooms
  • License: MIT + file LICENSE
  • Last published: 2025-03-23