在R中将RGB十六进制转换为三维矩阵
答
让我们用颜色 “#8A2BE2”:
# Create a 4x4 matrix with the same color
hex <- matrix(rep("#8A2BE2", 16), 4, 4)
hex
# [,1] [,2] [,3] [,4]
# [1,] "#8A2BE2" "#8A2BE2" "#8A2BE2" "#8A2BE2"
# [2,] "#8A2BE2" "#8A2BE2" "#8A2BE2" "#8A2BE2"
# [3,] "#8A2BE2" "#8A2BE2" "#8A2BE2" "#8A2BE2"
# [4,] "#8A2BE2" "#8A2BE2" "#8A2BE2" "#8A2BE2"
rgbs <- col2rgb(hex)
# First 5 columns
# [,1] [,2] [,3] [,4] [,5]
# red 138 138 138 138 138
# green 43 43 43 43 43
# blue 226 226 226 226 226
rgbs <- array(t(rgbs), c(4,4,3))
dim(rgbs)
# we get a 4x4x3 array
# [1] 4 4 3
rgbs[1:2,1:2,]
# First 2 lines and first 2 columns
# , , 1
#
# [,1] [,2]
# [1,] 138 138
# [2,] 138 138
#
# , , 2
#
# [,1] [,2]
# [1,] 43 43
# [2,] 43 43
#
# , , 3
#
# [,1] [,2]
# [1,] 226 226
# [2,] 226 226
请检查'col2rgb'? – 2015-03-31 04:34:33
感谢您的回答,但我想要做的rgb2col,不退出的命令 – 2015-03-31 09:03:45
为什么你想'rgb2col'? – 2015-03-31 09:06:22