col2rgb

Color to RGB Conversion

Rcolor to RGB (red/green/blue) conversion.

Keywords
color, dplot
Usage
col2rgb(col, alpha = FALSE)
Arguments
col
vector of any of the three kinds of Rcolor specifications, i.e., either a color name (as listed by colors()), a hexadecimal string of the form "#rrggbb" or "#rrggbbaa" (see rgb), or a positive integer i meaning palette()[i].
alpha
logical value indicating whether the alpha channel (opacity) values should be returned.
Details

NA (as integer or character) and "NA" mean transparent.

Values of col not of one of these types are coerced: real vectors are coerced to integer and other types to character. (Prior to R3.0.2 factors were coerced to their integer codes: in all other cases the class is still ignored when doing the coercion.)

Zero and negative values of col are an error.

Value

  • An integer matrix with three or four (for alpha = TRUE) rows and number of columns the length of col. If col has names these are used as the column names of the return value.

See Also

rgb, colors, palette, etc.

The newer, more flexible interface, convertColor().

Aliases
  • col2rgb
Examples
library(grDevices) col2rgb("peachpuff") col2rgb(c(blu = "royalblue", reddish = "tomato")) # note: colnames col2rgb(1:8) # the ones from the palette() (if the default) col2rgb(paste0("gold", 1:4)) col2rgb("#08a0ff") ## all three kinds of color specifications: col2rgb(c(red = "red", hex = "#abcdef")) col2rgb(c(palette = 1:3)) ##-- NON-INTRODUCTORY examples -- grC <- col2rgb(paste0("gray", 0:100)) table(print(diff(grC["red",]))) # '2' or '3': almost equidistant ## The 'named' grays are in between {"slate gray" is not gray, strictly} col2rgb(c(g66 = "gray66", darkg = "dark gray", g67 = "gray67", g74 = "gray74", gray = "gray", g75 = "gray75", g82 = "gray82", light = "light gray", g83 = "gray83")) crgb <- col2rgb(cc <- colors()) colnames(crgb) <- cc t(crgb) # The whole table ccodes <- c(256^(2:0) %*% crgb) # = internal codes ## How many names are 'aliases' of each other: table(tcc <- table(ccodes)) length(uc <- unique(sort(ccodes))) # 502 ## All the multiply named colors: mult <- uc[tcc >= 2] cl <- lapply(mult, function(m) cc[ccodes == m]) names(cl) <- apply(col2rgb(sapply(cl, function(x)x[1])), 2, function(n)paste(n, collapse = ",")) utils::str(cl) if(require(xgobi)) { ## Look at the color cube dynamically : tc <- t(crgb[, !duplicated(ccodes)]) table(is.gray <- tc[,1] == tc[,2] & tc[,2] == tc[,3]) # (397, 105) xgobi(tc, color = c("gold", "gray")[1 + is.gray]) }
Documentation reproduced from package grDevices, version 3.3, License: Part of R 3.3

Community examples

Looks like there are no examples yet.