繁体   English   中英

在 rgb() 中使用命名的 r 颜色,以便我可以添加 alpha 值

[英]Use named r color in rgb() so I can add alpha value

为了更轻松地测试复杂图中的颜色,我想使用命名颜色但指定 alpha。 我的第一个想法是使用col2rgb() 像这样的东西

rgb( col2rgb( "red" ), alpha=125, maxColorValue=255 )

但是 col2rgb() 的输出是一个矩阵。 我试过转置它,将其转换为字符等,但无法以rgb()可以使用的形式获取它。 这很奇怪,因为它被称为col2rgb

情况比这更复杂,我在给颜色时必须指定alpha。

我们可以t ranspose创建3列matrix作为col2rgb是单个列matrix与row.names即

col2rgb( "red" )
#       [,1]
#red    255
#green    0
#blue     0
t(col2rgb( "red" ))
#     red green blue
#[1,] 255     0    0

并根据?rgb

可以通过将矩阵或数据框作为参数传递给红色来指定颜色,而忽略蓝色和绿色。 在这种情况下,红色的前三列被视为红色、绿色和蓝色值。

因此,我们可以使用 3 列matrix

rgb(t(col2rgb( "red" )), alpha=125, maxColorValue=255 )
#[1] "#FF00007D"

或者作为data.frame

rgb(as.data.frame(t(col2rgb( "red" ))), alpha=125, maxColorValue=255 )
#[1] "#FF00007D"

这与

rgb(red = 255, green = 0, blue = 0, alpha=125, maxColorValue=255 )
#[1] "#FF00007D"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM