Ok, good news. I spent the last hour finding and implementing a formula that has much better results (after a tiny tweak to the formula I found). So, if you have those RGB values, let me know and I'll test them with the new formula.
As of right now, I don't know if this one issue is worth releasing an update for, so if anybody else has this issue, let me know! and we'll wait and see.
I thought that the formula was kind of interesting so I thought I'd share it. If you don't care about the details, stop reading!
As you may know, every color on your monitor is a composite of 3 colors (red, green, blue) where each separate RGB value ranges between 0-255.
There is a formula that converts values between RGB and HSL, and vice-versa.
It turns out, the "correct" formula to use does not use the "Light" of HSL as I would have expected. This is rather evident when you consider:
Blue (0/0/255)
and
Yellow (255/255/0)
both have a "light" value of 128 (not shown, just trust me); but the preferred colors would be
white on blue
black on yellow
So: not the same text color even though the "light" colors are the same.
The new formula basically says:
- assume that the text color will be white
- the more "green" that's in the color, the more likely the text color will need to be black
- the amount of "blue" in the color hardly makes a difference (it takes 5x the amount of blue to match green)
- the amount of "red" is in-between (it takes 2x the amount of red to match green)
So, if we look back at the previous 2 examples:
Blue (0/0/255) -- as we know, blue hardly makes a difference, so the text color will be white
Yellow (255/255/0) -- Lots of green and lots of red: the text color will be black
Anyway, *I* thought it was interesting... I may be the only one
