gpt4 book ai didi

用于RGBA到HEX颜色转换的R函数

转载 作者:行者123 更新时间:2023-12-04 15:32:22 56 4
gpt4 key购买 nike

我正在寻找一些 可以转换 颜色到十六进制,例如rgba(240, 177, 76, 0.80) 提供了大量功能到十六进制转换,例如plotrix::rgb.to.hex() 但不适用于 RGBA。

非常感谢任何指点。

最佳答案

此主题已讨论Convert RGBA to HEX但是,我不知道 R 包提供了随时可用的功能。

您可以将 RGBA 转换为 RGB:

由于这取决于背景像素的颜色 ( Convert RGBA color to RGB ),因此您必须定义背景颜色。color_RGBA 是您的 RGBA 颜色,background_RGB 是背景颜色。例如,您可以将 col2rgb("white") 作为 background_RGB

rgba2rgb <- function(background_RGB, color_RGBA){

# get alpha
alpha=color_RGBA[4]

# get new color
new_col=matrix(c(
(1 - alpha) * background_RGB[1] + alpha * color_RGBA[1],
(1 - alpha) * background_RGB[2] + alpha * color_RGBA[2],
(1 - alpha) * background_RGB[3] + alpha * color_RGBA[3]),
nrow=3,ncol=1,dimnames=list(c("red","green","blue"))
)
return(new_col)
}

然后将 RGB 转换为 HEX:

rgb2hex <- function(x) rgb(x[1], x[2], x[3], maxColorValue = 255)

关于用于RGBA到HEX颜色转换的R函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60977641/

56 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com