[6] 色々な決め方がありますが、輝度を求めて閾値で白か黒を選ぶのが一番単純かつ読みやすい結果が得られそうです。 閾値は 127 が選ばれることが多いですが、 191 あたりにした方が読みやすい色になる範囲が広そうです。
[1] 反対色を作る~カラーパレット(リストボックス)の文字色を見やすくする | ロケッこがゆく () <http://blog.syo-ko.com/?eid=1253>
[3] 色を反転させる Xor Color - C#:humming bird (y@s著, ) <http://yas-hummingbird.blogspot.jp/2009/01/xor-color-c.html>
[4] Adobe Illustrator CS4 * カラーの反転色または補色への変更 () <http://help.adobe.com/ja_JP/Illustrator/14.0/WS714a382cdf7d304e7e07d0100196cbc5f-6288a.html>
[5] [JavaScript] 背景色に応じて文字色を白or黒に振り分ける | tande lab. () <http://tande.jp/lab/2013/04/2028>