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 = "white", geometry = "50x10+30+30", operator = "atop", offset = "+20+20" ) image_shade(image, azimuth = 30, elevation = 30, color = FALSE)
image |
magick image object returned by |
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. |
bg |
background color |
azimuth |
position of light source |
elevation |
position of light source |
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).
# 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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.