Dear Deepayan, I actually thought of the equivalent of this approach, but it doesn't do quite what I want.
In retrospect, I didn't specify the problem clearly: 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. Your solution, for example breaks down for grays: > mycol <- "#888888" > do.call(rgb, as.list(1 - col2rgb(mycol) / 255)) [1] "#777777" Thank you for the suggestion. John -------------------------------- John Fox, Professor Department of Sociology McMaster University Hamilton, Ontario Canada L8S 4M4 905-525-9140x23604 http://socserv.mcmaster.ca/jfox -------------------------------- > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Deepayan Sarkar > Sent: Monday, May 21, 2007 6:45 PM > To: John Fox > Cc: [email protected] > Subject: Re: [R] Selecting complementary colours > > On 5/21/07, John Fox <[EMAIL PROTECTED]> wrote: > > Dear r-helpers, > > > > I wonder whether, given the "#rrggbb" representation of a colour, > > there is a simple way to select the complementary colour, > also expressed as a "#rrggbb" > > string. > > > > Any suggestions would be appreciated. > > You want rgb2col. The following should work for any standard color > specification: > > > mycol = "royalblue" > > do.call(rgb, as.list(1 - col2rgb(mycol) / 255)) > [1] "#BE961E" > > -Deepayan > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
