grid.pattern_image() draws an image pattern onto the graphic device.

grid.pattern_image(
x = c(0, 0, 1, 1),
y = c(1, 0, 0, 1),
id = 1L,
...,
filename = "",
type = "fit",
scale = 1,
gravity = "center",
filter = "lanczos",
alpha = gp\$alpha %||% NA_real_,
aspect_ratio = 1,
key_scale_factor = 1,
res = 72,
default.units = "npc",
name = NULL,
gp = gpar(),
draw = TRUE,
vp = NULL
)

Arguments

x A numeric vector or unit object specifying x-locations of the pattern boundary. A numeric vector or unit object specifying y-locations of the pattern boundary. A numeric vector used to separate locations in x, y into multiple boundaries. All locations within the same id belong to the same boundary. Currently ignored Image of filename or URL Image scaling type Extra scaling Position of image within area. magick::gravity_types() returns a vector of supported values. Filter to use when scaling. magick::filter_types() returns a vector of supported values. Alpha (between 0 and 1) or NA (default, preserves colors' alpha value). Override aspect ratio Additional scale factor for legend Assumed resolution (in pixels per graphic device inch) to use when creating array pattern. A string indicating the default units to use if x or y are only given as numeric vectors. A character identifier. An object of class "gpar", typically the output from a call to the function gpar. This is basically a list of graphical parameter settings. A logical value indicating whether graphics output should be produced. A Grid viewport object (or NULL).

Value

A grid grob object invisibly. If draw is TRUE then also draws to the graphic device as a side effect.

Details

Here is a description of the type arguments:

expand

Scale the image beyond the bounding box and crop it such that the image fully covers the width and the height of the region.

fit

Scale the image such that either the width or the height of the image fits in the bounding box. Affected by gravity

none

Position a single image in the region without attempting to scale to the bounding box size. Affected by scale and gravity.

squish

Distort the image to cover the bounding box of the region.

tile

Repeat the image to cover the bounding box. Affected by tile.

grid.pattern_placeholder() is an image pattern that uses images downloaded from the internet.

Examples

  if (require("magick")) {
x_hex <- 0.5 + 0.5 * cos(seq(2 * pi / 4, by = 2 * pi / 6, length.out = 6))
y_hex <- 0.5 + 0.5 * sin(seq(2 * pi / 4, by = 2 * pi / 6, length.out = 6))
logo_filename <- system.file("img", "Rlogo.png" , package = "png")
grid.pattern_image(x_hex, y_hex, filename = logo_filename, type = "fit")

# "tile" type image pattern depends on magick functionality
# which is not reliable across platforms
grid::grid.newpage()
try(grid.pattern_image(x_hex, y_hex, filename = logo_filename,
type = "tile"))
}