Вы можете использовать col2rgb()
и транспонировать результат:
t(col2rgb("#435690FF", alpha = TRUE))
red green blue alpha
[1,] 67 86 144 255
Или, как указал r2evans, чтобы вернуться к шестнадцатеричным значениям, оберните его в as.hexmode()
.
t(as.hexmode(col2rgb("#435690FF", alpha = TRUE)))
red green blue alpha
[1,] "43" "56" "90" "ff"
Чтобы включить комментарии и обернуть все это в функцию:
hex_values <- function(x) {
clr <- ifelse(startsWith(x, "#"), x, paste0("#", x))
t(toupper(as.hexmode(col2rgb(clr, alpha = TRUE))))
}
hex_values(colorRampPalette(c("red", "blue"))(5))
red green blue alpha
[1,] "FF" "00" "00" "FF"
[2,] "BF" "00" "3F" "FF"
[3,] "7F" "00" "7F" "FF"
[4,] "3F" "00" "BF" "FF"
[5,] "00" "00" "FF" "FF"