R/hex_color.R

Defines functions hex_color

Documented in hex_color

#' Create color in hexadecimal
#'
#' @description Create hexadecimal type color name with transparency
#'
#' @param color a hexadecimal or named color e.g. '#1874CD' or 'dodgerblue3'
#' @param alpha transparency factor. Numeric value between 0 and 1
#'
#' @examples
#' \dontrun{
#' color <- hex_color(color = 'dodgerblue3', alpha = 0.5)
#' }
#' @export
hex_color <- function(color = NULL, alpha = 1) {

  if (!all(is.numeric(alpha) & alpha >= 0 & alpha <= 1)) {
    stop('Argument \"alpha\" must be a number between 0 and 1')
  }

  color <- grDevices::col2rgb(col = color)
  color <- grDevices::rgb(red   = color[1, ],
                          green = color[2, ],
                          blue  = color[3, ],
                          alpha = 255 * alpha,
                          maxColorValue = 255)

  return(color)

} # End hex_colors
guiastrennec/modelviz documentation built on Feb. 16, 2024, 8:14 p.m.