2011-06-21 16 views
4

カスタムラベルにテキストを描画します。色:背景がDARKの場合は白、LIGHTの場合はBLACK

ユーザーはラベルの背景を変更できますが、コントロールの背景は指定された背景に応じてテキストの可視性に対応します。

バックグラウンドがDARKのとき、私はBLACKフォアグラウンドが必要なときに白い前景テキストを描きたいと思います。

色が薄いか暗いかを「理解する」方法は?

+1

http://stackoverflow.com/questions/97646/how-do-i-determine-darker-or-lighter-color-variant-of-a-与えられた色/ 97697#97697 –

+0

@KMån:私はより暗くて明るい色の変種は必要ありません。私は、与えられた色が単独で明るいか暗いかを検出する必要があります。 – serhio

+0

あなた自身の答えを受け入れることをお勧めします。あらかじめ定義された関数を使うことは明らかにホイールを再発明するよりも優れています。 – CodesInChaos

答えて

1

単純な解決策は、背景色の色成分を追加し、それらを閾値と比較することです。

青の重みを低くしたい場合があります。 0.3*R+0.6*G+0.1*Bは一般的な選択です。

関連する問題