giovedì 24 maggio 2007

Selecting “contrasting” colors

From the R-list (as usual):

What I want to be able to do is to place text on a background of arbitrary
(but known RGB) colour so that the text is legible.
I guess that this is better described as a "contrasting" than a "complementary" colour.
Since luminance contrasts are necessary and sufficient for readable text,
you could use white for dark colors and black for light colors.
Luminance is roughly proportional to 0.2*(R^2.4)+0.6*(G^2.4),
suggesting something like

lightdark <-function (color){
rgb <- col2rgb(color)/255
L <- c(0.2, 0.6, 0) %*% rgb
ifelse(L >= 0.2, "#000060", "#FFFFA0")
}


This uses a pale yellow for dark backgrounds and a dark blue for light
backgrounds, and it seems to work reasonably well.

Nessun commento:

Posta un commento