Um die Helligkeit einer Farbe mit R zu bestimmen, konvertiere ich die RGB-Systemfarbe in die HSV-Systemfarbe.
In meinem Skript habe ich zuvor den HEX-Systemcode aus einem anderen Grund verwendet, aber du kannst auch mit dem RGB-Systemcode beginnen mit rgb2hsv {grDevices}
. Die Dokumentation findest du hier.
Hier ist dieser Teil meines Codes:
sample <- c("#010101", "#303030", "#A6A4A4", "#020202", "#010100")
hsvc <-rgb2hsv(col2rgb(sample)) # konvertiere HEX in HSV
value <- as.data.frame(hsvc) # erstelle data.frame
value <- value[3,] # extrahiere die Helligkeitsinformationen
order(value) # ordne die Farbe nach Helligkeit
10 Stimmen
Die wahrgenommene Helligkeit ist das, wonach ich suche, danke.
0 Stimmen
Ich habe [diesen Code][1] (geschrieben in C#) gefunden, der hervorragende Arbeit bei der Berechnung der "Helligkeit" einer Farbe leistet. In diesem Szenario versucht der Code festzustellen, ob weißer oder schwarzer Text über der Farbe platziert werden soll. [1]:nbdtech.com/Blog/archive/2008/04/27/…
2 Stimmen
Es gibt einen guten Artikel (Farbmanipulation in .NET - Teil 1) über Farbräume und deren Konvertierungen, einschließlich sowohl Theorie als auch Code (C#). Für die Antwort schauen Sie sich das Thema Konvertierung zwischen Modellen im Artikel an.
0 Stimmen
Sehen Sie meine Antwort, aber wirklich einfach ist: Helligkeit = 0,2*r + 0,7*g + 0,1*b