R中的CMY颜色功能

geo*_*ory 5 r

在与R等效的R包中是否存在CMY颜色功能rgb()?{base}或{colourSpace}中似乎什么都没有。我有一个自定义函数,可以在此处发布,但最好使用本机函数。

hrb*_*str 5

这应该工作

#' assumes integer input for CMYK
cmyk <- function(C,M,Y,K) {

  C <- C / 100.0
  M <- M / 100.0
  Y <- Y / 100.0
  K <- K / 100.0

  n.c <- (C * (1-K) + K)
  n.m <- (M * (1-K) + K)  
  n.y <- (Y * (1-K) + K)

  r.col <- ceiling(255 * (1-n.c))
  g.col <- ceiling(255 * (1-n.m))
  b.col <- ceiling(255 * (1-n.y))

  return(col2rgb(sprintf("#%02s%02s%02s",
                     as.hexmode(r.col), 
                     as.hexmode(g.col), 
                     as.hexmode(b.col))))

}

> cmyk(0,50,85,0)
      [,1]
red    255
green  128
blue    39

> cmyk(0,0,100,0)
      [,1]
red    255
green  255
blue     0
Run Code Online (Sandbox Code Playgroud)