如何在R中获取十六进制颜色的alpha值

How to get alpha value of a hexadecimal color in R

我想获取向量中颜色的 alpha 值。但是,我找不到任何功能。

但是,我可以解析十六进制表示的最后一部分:

transparent.colors = alpha(c("red", "black"), alpha = 0.5)
transparency = substr(transparent.colors, start = 8, stop = 9)
strtoi(paste0("0x", transparency)) / 255

我认为应该已经实现了一些功能。任何搜索通常都会导致不相关的结果(例如,为绘图添加透明度)。

R 没有内置的 alpha() 函数,所以我假设您使用的是 this alpha() function from the "scales" package.

我能找到的最佳答案是使用内置 col2rgb() function. 试试这样的方法:

transparent.colors = alpha(c("red", "black"), alpha = 0.5)
col2rgb(transparent.colors)[4] / 255
col2rgb(transparent.colors, alpha=TRUE)["alpha",] # You can use the row name if you prefer.