geometry function

Geometry Helpers

Geometry Helpers

ImageMagick uses a handy geometry syntax to specify coordinates and shapes for use in image transformations. You can either specify these manually as strings or use the helper functions below.

geometry_point(x, y) geometry_area(width = NULL, height = NULL, x_off = 0, y_off = 0) geometry_size_pixels(width = NULL, height = NULL, preserve_aspect = TRUE) geometry_size_percent(width = 100, height = NULL)

Arguments

  • x: left offset in pixels
  • y: top offset in pixels
  • width: in pixels
  • height: in pixels
  • x_off: offset in pixels on x axis
  • y_off: offset in pixels on y axis
  • preserve_aspect: if FALSE, resize to width and height exactly, loosing original aspect ratio. Only one of percent and preserve_aspect may be TRUE.

Details

See ImageMagick Manual

for details about the syntax specification. Examples of geometry strings:

  • ‘"500x300"’ -- Resize image keeping aspect ratio, such that width does not exceed 500 and the height does not exceed 300.
  • ‘"500x300!"’ -- Resize image to 500 by 300, ignoring aspect ratio
  • ‘"500x"’ -- Resize width to 500 keep aspect ratio
  • ‘"x300"’ -- Resize height to 300 keep aspect ratio
  • ‘"50%x20%"’ -- Resize width to 50 percent and height to 20 percent of original
  • ‘"500x300+10+20"’ -- Crop image to 500 by 300 at position 10,20

Examples

# Specify a point logo <- image_read("logo:") image_annotate(logo, "Some text", location = geometry_point(100, 200), size = 24) # Specify image area image_crop(logo, geometry_area(300, 300), repage = FALSE) image_crop(logo, geometry_area(300, 300, 100, 100), repage = FALSE) # Specify image size image_resize(logo, geometry_size_pixels(300)) image_resize(logo, geometry_size_pixels(height = 300)) image_resize(logo, geometry_size_pixels(300, 300, preserve_aspect = FALSE)) # resize relative to current size image_resize(logo, geometry_size_percent(50)) image_resize(logo, geometry_size_percent(50, 20))

See Also

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

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