Learn R Programming

bittermelon (version 2.2.1)

bm_resize: Resize bitmaps by trimming and/or extending

Description

Trim and/or extend bitmaps to a desired height and/or width.

Usage

bm_resize(
  x,
  value,
  width = NULL,
  height = NULL,
  hjust = "center-left",
  vjust = "center-top"
)

# S3 method for bm_bitmap bm_resize( x, value = 0L, width = NULL, height = NULL, hjust = "center-left", vjust = "center-top" )

# S3 method for bm_list bm_resize(x, ...)

# S3 method for bm_pixmap bm_resize( x, value = col2hex("transparent"), width = NULL, height = NULL, hjust = "center-left", vjust = "center-top" )

# S3 method for `magick-image` bm_resize( x, value = "transparent", width = NULL, height = NULL, hjust = "center-left", vjust = "center-top" )

# S3 method for nativeRaster bm_resize( x, value = col2int("transparent"), width = NULL, height = NULL, hjust = "center-left", vjust = "center-top" )

# S3 method for raster bm_resize( x, value = "transparent", width = NULL, height = NULL, hjust = "center-left", vjust = "center-top" )

Value

Depending on x either a bm_bitmap(), bm_font(), bm_list(), magick-image, "nativeRaster", bm_pixmap(), or raster object.

Arguments

x

Either a bm_bitmap(), bm_font(), bm_list(), "magick-image", "nativeRaster", bm_pixmap(), or "raster" object.

value

Value for the new pixels.

width

How many pixels wide should the new bitmap be. Use with the hjust argument or just one of either the left or right arguments.

height

How many pixels tall should the new bitmap be. Use with the vjust argument or just one of either the top or bottom arguments.

hjust

One of "left", "center-left", "center-right", "right". "center-left" and "center-right" will attempt to place in "center" if possible but if not possible will bias it one pixel left or right respectively. "centre", "center", and "centre-left" are aliases for "center-left". "centre-right" is an alias for "center-right".

vjust

One of "bottom", "center-bottom", "center-top", "top". "center-bottom" and "center-top" will attempt to place in "center" if possible but if not possible will bias it one pixel down or up respectively. "centre", "center", and "centre-top" are aliases for "center-top". "centre-bottom" is an alias for "center-bottom".

...

Additional arguments to be passed to or from methods.

Details

This function is a convenience wrapper around bm_trim() and bm_extend().

See Also

bm_extend(), bm_pad(), and bm_trim().

Examples

Run this code
font_file <- system.file("fonts/spleen/spleen-8x16.hex.gz", package = "bittermelon")
font <- read_hex(font_file)
# add a border to an "R"
capital_r <- font[[str2ucp("R")]]
print(capital_r)
capital_r <- bm_resize(capital_r, width = 12L, height = 12L, vjust = "top")
print(capital_r)
corn <- farming_crops_16x16()$corn$portrait
corn_rs <- bm_resize(corn, width = 20L, height = 20L, vjust = "top")
if (cli::is_utf8_output() && cli::num_ansi_colors() >= 256L) {
  print(corn_rs, bg = "cyan", compress = "v")
}

Run the code above in your browser using DataLab