簡體   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