Rev 44463 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/grDevices/man/col2rgb.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2007 R Core Development Team% Distributed under GPL 2 or later\name{col2rgb}\alias{col2rgb}\title{Color to RGB Conversion}\description{\R color to RGB (red/green/blue) conversion.}\usage{col2rgb(col, alpha = FALSE)}\arguments{\item{col}{vector of any of the three kind of \R colors, i.e., eithera color name (an element of \code{\link{colors}()}), a hexadecimalstring of the form \code{"#rrggbb"}, or an integer \code{i} meaning\code{palette()[i]}. Non-string values are coerced to integer.}\item{alpha}{logical value indicating whether alpha channelvalues should be returned.}}\details{For integer colors, \code{0} is shorthand for the current\code{par("bg")} (and hence is only relevant to base graphics), and\code{\link{NA}} means transparent.For character colors, \code{"NA"} is equivalent to \code{NA} above.}\value{an integer matrix with three or four rows and number of columns the length(and names if any) as \code{col}.}\author{Martin Maechler}\seealso{\code{\link{rgb}}, \code{\link{colors}}, \code{\link{palette}}, etc.}\examples{col2rgb("peachpuff")col2rgb(c(blu = "royalblue", reddish = "tomato")) # names keptcol2rgb(1:8)# the ones from the palette() :col2rgb(paste("gold", 1:4, sep=""))col2rgb("#08a0ff")## all three kind of colors mixed :col2rgb(c(red="red", palette= 1:3, hex="#abcdef"))##-- NON-INTRODUCTORY examples --grC <- col2rgb(paste("gray",0:100,sep=""))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) <- cct(crgb)## The whole tableccodes <- 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)\dontrun{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])}}}\keyword{color}\keyword{dplot}