<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>マーク付け言語</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <figure class="short list"><ul><li><code class="CSS" xml:lang="en">invert</code></li></ul></figure></p></section><section><h1>任意の背景色に対する前景色を定める</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 色々な決め方がありますが、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">輝度</anchor>を求めて閾値で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">白</anchor>か<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">黒</anchor>を選ぶのが一番単純かつ読みやすい結果が得られそうです。
閾値は <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">127</n> が選ばれることが多いですが、 <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">191</n> あたりにした方が読みやすい色になる範囲が広そうです。</p><figure class="bookmarklet"><p><anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="data:text/html;charset=utf-8,%3C!DOCTYPE%20html%3E%0A%3Cform%3E%0A%20%20%3Cinput%20type%3Dcolor%20onchange%3D%22%0A%20%20%20%20var%20m%20%3D%20this.value.match%20(%2F%23(..)(..)(..)%2F)%3B%0A%20%20%20%20var%20r%20%3D%20parseInt%20(%270x%27%20%2B%20m%5B1%5D)%3B%0A%20%20%20%20var%20g%20%3D%20parseInt%20(%270x%27%20%2B%20m%5B2%5D)%3B%0A%20%20%20%20var%20b%20%3D%20parseInt%20(%270x%27%20%2B%20m%5B3%5D)%3B%0A%20%20%20%20var%20max%20%3D%20Math.max%20(r%2C%20g%2C%20b)%3B%0A%20%20%20%20var%20min%20%3D%20Math.min%20(r%2C%20g%2C%20b)%3B%0A%20%20%20%20var%20R1%20%3D%20255%20-%20r%3B%0A%20%20%20%20var%20G1%20%3D%20255%20-%20g%3B%0A%20%20%20%20var%20B1%20%3D%20255%20-%20b%3B%0A%20%20%20%20var%20R2%20%3D%20max%20%2B%20min%20-%20r%3B%0A%20%20%20%20var%20G2%20%3D%20max%20%2B%20min%20-%20g%3B%0A%20%20%20%20var%20B2%20%3D%20max%20%2B%20min%20-%20b%3B%0A%20%20%20%20var%20y%20%3D%200.299%20*%20r%20%2B%200.587%20*%20g%20%2B%200.114%20*%20b%3B%0A%20%20%20%20var%20R3%20%3D%20y%20%3E%20127%20%3F%200%20%3A%20255%3B%0A%20%20%20%20var%20R4%20%3D%20y%20%3E%20127%20%2B%2064%20%3F%200%20%3A%20255%3B%0A%20%20%20%20var%20R5%20%3D%20Math.floor%20(255%20-%20y)%3B%0A%20%20%20%20elements.result1.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.result1.style.color%20%3D%20%27rgb(%27%20%2B%20R1%20%2B%20%27%2C%20%27%20%2B%20G1%20%2B%20%27%2C%20%27%20%2B%20B1%20%2B%20%27)%27%3B%0A%20%20%20%20elements.result2.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.result2.style.color%20%3D%20%27rgb(%27%20%2B%20R2%20%2B%20%27%2C%20%27%20%2B%20G2%20%2B%20%27%2C%20%27%20%2B%20B2%20%2B%20%27)%27%3B%0A%20%20%20%20elements.result3.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.result3.style.color%20%3D%20%27rgb(%27%20%2B%20R3%20%2B%20%27%2C%20%27%20%2B%20R3%20%2B%20%27%2C%20%27%20%2B%20R3%20%2B%20%27)%27%3B%0A%20%20%20%20elements.result4.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.result4.style.color%20%3D%20%27rgb(%27%20%2B%20R4%20%2B%20%27%2C%20%27%20%2B%20R4%20%2B%20%27%2C%20%27%20%2B%20R4%20%2B%20%27)%27%3B%0A%20%20%20%20elements.result5.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.result5.style.color%20%3D%20%27rgb(%27%20%2B%20R5%20%2B%20%27%2C%20%27%20%2B%20R5%20%2B%20%27%2C%20%27%20%2B%20R5%20%2B%20%27)%27%3B%0A%20%20%20%20elements.sample1.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.sample1.style.color%20%3D%20%27%23FFFFFF%27%3B%0A%20%20%20%20elements.sample2.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.sample2.style.color%20%3D%20%27%23CCCCCC%27%3B%0A%20%20%20%20elements.sample3.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.sample3.style.color%20%3D%20%27%23777777%27%3B%0A%20%20%20%20elements.sample4.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.sample4.style.color%20%3D%20%27%23333333%27%3B%0A%20%20%20%20elements.sample5.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.sample5.style.color%20%3D%20%27%23000000%27%3B%0A%20%20%22%3E%0A%20%20%3Coutput%20name%3Dsample1%3E%E7%99%BD%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dsample2%3E%E8%96%84%E7%81%B0%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dsample3%3E%E7%81%B0%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dsample4%3E%E6%BF%83%E7%81%B0%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dsample5%3E%E9%BB%92%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dresult1%3E%E5%8F%8D%E8%BB%A2%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dresult2%3E%E8%A3%9C%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dresult3%3E%E3%82%B0%E3%83%AC%E3%82%A4%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E5%8C%96%E9%96%BE%E5%80%A4%CE%B1%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dresult4%3E%E3%82%B0%E3%83%AC%E3%82%A4%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E5%8C%96%E9%96%BE%E5%80%A4%CE%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dresult5%3E%E3%82%B0%E3%83%AC%E3%82%A4%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E5%8C%96%E5%8F%8D%E8%BB%A2%E8%89%B2%3C%2Foutput%3E%0A%3C%2Fform%3E%0A%3C!--%20License%3A%20CC0%20--%3E">data:text/html;charset=utf-8,%3C!DOCTYPE%20html%3E%0A%3Cform%3E%0A%20%20%3Cinput%20type%3Dcolor%20onchange%3D%22%0A%20%20%20%20var%20m%20%3D%20this.value.match%20(%2F%23(..)(..)(..)%2F)%3B%0A%20%20%20%20var%20r%20%3D%20parseInt%20(%270x%27%20%2B%20m%5B1%5D)%3B%0A%20%20%20%20var%20g%20%3D%20parseInt%20(%270x%27%20%2B%20m%5B2%5D)%3B%0A%20%20%20%20var%20b%20%3D%20parseInt%20(%270x%27%20%2B%20m%5B3%5D)%3B%0A%20%20%20%20var%20max%20%3D%20Math.max%20(r%2C%20g%2C%20b)%3B%0A%20%20%20%20var%20min%20%3D%20Math.min%20(r%2C%20g%2C%20b)%3B%0A%20%20%20%20var%20R1%20%3D%20255%20-%20r%3B%0A%20%20%20%20var%20G1%20%3D%20255%20-%20g%3B%0A%20%20%20%20var%20B1%20%3D%20255%20-%20b%3B%0A%20%20%20%20var%20R2%20%3D%20max%20%2B%20min%20-%20r%3B%0A%20%20%20%20var%20G2%20%3D%20max%20%2B%20min%20-%20g%3B%0A%20%20%20%20var%20B2%20%3D%20max%20%2B%20min%20-%20b%3B%0A%20%20%20%20var%20y%20%3D%200.299%20*%20r%20%2B%200.587%20*%20g%20%2B%200.114%20*%20b%3B%0A%20%20%20%20var%20R3%20%3D%20y%20%3E%20127%20%3F%200%20%3A%20255%3B%0A%20%20%20%20var%20R4%20%3D%20y%20%3E%20127%20%2B%2064%20%3F%200%20%3A%20255%3B%0A%20%20%20%20var%20R5%20%3D%20Math.floor%20(255%20-%20y)%3B%0A%20%20%20%20elements.result1.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.result1.style.color%20%3D%20%27rgb(%27%20%2B%20R1%20%2B%20%27%2C%20%27%20%2B%20G1%20%2B%20%27%2C%20%27%20%2B%20B1%20%2B%20%27)%27%3B%0A%20%20%20%20elements.result2.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.result2.style.color%20%3D%20%27rgb(%27%20%2B%20R2%20%2B%20%27%2C%20%27%20%2B%20G2%20%2B%20%27%2C%20%27%20%2B%20B2%20%2B%20%27)%27%3B%0A%20%20%20%20elements.result3.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.result3.style.color%20%3D%20%27rgb(%27%20%2B%20R3%20%2B%20%27%2C%20%27%20%2B%20R3%20%2B%20%27%2C%20%27%20%2B%20R3%20%2B%20%27)%27%3B%0A%20%20%20%20elements.result4.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.result4.style.color%20%3D%20%27rgb(%27%20%2B%20R4%20%2B%20%27%2C%20%27%20%2B%20R4%20%2B%20%27%2C%20%27%20%2B%20R4%20%2B%20%27)%27%3B%0A%20%20%20%20elements.result5.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.result5.style.color%20%3D%20%27rgb(%27%20%2B%20R5%20%2B%20%27%2C%20%27%20%2B%20R5%20%2B%20%27%2C%20%27%20%2B%20R5%20%2B%20%27)%27%3B%0A%20%20%20%20elements.sample1.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.sample1.style.color%20%3D%20%27%23FFFFFF%27%3B%0A%20%20%20%20elements.sample2.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.sample2.style.color%20%3D%20%27%23CCCCCC%27%3B%0A%20%20%20%20elements.sample3.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.sample3.style.color%20%3D%20%27%23777777%27%3B%0A%20%20%20%20elements.sample4.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.sample4.style.color%20%3D%20%27%23333333%27%3B%0A%20%20%20%20elements.sample5.style.backgroundColor%20%3D%20value%3B%0A%20%20%20%20elements.sample5.style.color%20%3D%20%27%23000000%27%3B%0A%20%20%22%3E%0A%20%20%3Coutput%20name%3Dsample1%3E%E7%99%BD%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dsample2%3E%E8%96%84%E7%81%B0%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dsample3%3E%E7%81%B0%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dsample4%3E%E6%BF%83%E7%81%B0%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dsample5%3E%E9%BB%92%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dresult1%3E%E5%8F%8D%E8%BB%A2%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dresult2%3E%E8%A3%9C%E8%89%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dresult3%3E%E3%82%B0%E3%83%AC%E3%82%A4%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E5%8C%96%E9%96%BE%E5%80%A4%CE%B1%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dresult4%3E%E3%82%B0%E3%83%AC%E3%82%A4%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E5%8C%96%E9%96%BE%E5%80%A4%CE%B2%3C%2Foutput%3E%0A%20%20%3Coutput%20name%3Dresult5%3E%E3%82%B0%E3%83%AC%E3%82%A4%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E5%8C%96%E5%8F%8D%E8%BB%A2%E8%89%B2%3C%2Foutput%3E%0A%3C%2Fform%3E%0A%3C!--%20License%3A%20CC0%20--%3E</anchor-external></p></figure></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="ja">反対色を作る~カラーパレット(リストボックス)の文字色を見やすくする | ロケッこがゆく</cite>
(<time>2017-01-02 14:40:14 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://blog.syo-ko.com/?eid=1253">http://blog.syo-ko.com/?eid=1253</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="ja">色を反転させる Xor Color - C#:humming bird</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">y@s</anchor>著, <time>2014-10-01 15:22:15 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://yas-hummingbird.blogspot.jp/2009/01/xor-color-c.html">http://yas-hummingbird.blogspot.jp/2009/01/xor-color-c.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite xml:lang="ja-jp">Adobe Illustrator CS4 * カラーの反転色または補色への変更</cite>
(<time>2017-01-02 15:08:46 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://help.adobe.com/ja_JP/Illustrator/14.0/WS714a382cdf7d304e7e07d0100196cbc5f-6288a.html">http://help.adobe.com/ja_JP/Illustrator/14.0/WS714a382cdf7d304e7e07d0100196cbc5f-6288a.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="ja"><strong>[</strong>JavaScript<strong>]</strong> 背景色に応じて文字色を白or黒に振り分ける | tande lab.</cite>
(<time>2017-01-02 15:24:00 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tande.jp/lab/2013/04/2028">http://tande.jp/lab/2013/04/2028</anchor-external></p></section></body></html>