• ベストアンサー

カラーの16進表記の足し算

色を16進数にしたときに、例えば、#ABABABと#FF8000が合わさったらどういう色になるのでしょうか?足し方とその答えを教えていただきたいのですが、お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 12m24
  • ベストアンサー率23% (193/817)
回答No.2

これは計算方法によってしまいますが、色のバランスをそろえる方法だと、 (※すべて16進数です) R: 0xAB + 0xFF = 0x1AA G: 0xAB + 0x80 = 0x12B B: 0xAB + 0x00 = 0x0AB 平均化すると、 R: 0x1AA * 0xFF / 0x1AA = FF G: 0x12B * 0xFF / 0x1AA = B2 B: 0x0AB * 0xFF / 0x1AA = 66 よって、色は「#FFB266」であると考えられます。なお、この色は私の環境で見ると、オレンジ色と肌色の中間のような色でした。  ただし、実際にはこのような計算をすると相対的に暗くなってしまって都合が悪いことが多いので、いっそのこと白(FFFFFF)にしてしまうのも手ですが・・・。

ukkey119
質問者

お礼

早い回答をいただきありがとうございます。 平均化するといいのですね。 あと白に関しては、色の合成を表したいので、ちょっと不都合なところがあるので・・・。

その他の回答 (1)

回答No.1

たぶんRGBそれぞれ足し算してオーバーフローしたら最大値FFにすると思いますが。。。色を合わせるの定義が微妙ですね AB+FF = 1AA → FF AB+80 = 12B → FF AB+00 = AB → AB 最大値を超えないように1/2する方がいいかもしれません。 AB+FF = 1AA → D5 AB+80 = 12B → 95 AB+00 = AB → 55

ukkey119
質問者

お礼

早い回答をいただきありがとうございます。 1/2にするというのも考えたのですが、暗い色になってしまったので、どうすればいいか悩んでます。

関連するQ&A