HSLの色のテスト、理想的には緑に隣接する赤(一般的な色盲目のタイプ)を避けること

StackOverflow https://stackoverflow.com/questions/4642219

  •  09-10-2019
  •  | 
  •  

質問

上の答えに触発されました このページ 私は、n個のヘックス色を生成するためにPythonプログラムを書きました。違いは、元の著者がMath.random()を使用して飽和と輝度を生成するのに対し、私は常に保証できる三角関数を使用します。 たぶん......だろう 青よりも暗く見えるように黄色をプログラムし、白い背景と黒のテキストとのより良いコントラスト(私が必要とするもの)。
私が実際に使用するコードは、RGBを介してHSLを16進コードに変換しているため、Webカラーコードを作成できます。
私の質問は次のとおりです。-

  1. このモデルを使用して、どのようにできますか 保証 その赤は緑の隣に表示されませんか?
  2. カラーコードを生成するのは簡単ですが、どうすれば簡単に表示できますか?現在、再びダウンロードする前に、PDF / PNG / EPSを生成するサーバーに非常に大きなファイルをアップロードする必要があります。
  3. 私はこれをテストで行うことができますが、HSLモデルを使用して、色の上に黒いテキストが付いた白い背景に対してコントラストが最大化される色を生成するために、誰もが経験を持っていますか?ブルースは黒いテキストを見るのが本当に難しくなり、黄色は時々白に対して見るのが難しいです...

詩これは実際に私が使用するコードではありませんが、すべてここから始まります。完全なPythonスクリプトが利用可能です ここ.
乾杯、
アレックス

>>> class generate_HSL_colours():
...    def __init__( self, N, shift=0, degrees=360 ):
...        dict.__init__(self)
...        self.N = N
...        hues = [ angle for angle in xrange( shift, shift+degrees , degrees / N ) ] # Default hues from 0 --> 360
...        self.colours = generate_HSL_colours()
...    def generate_HSL_colours(self,angles):
...        colours = []
...        colour = HSLColour()
...        for angle in angles:
...            cos_value = math.cos( angle * math.pi / 360 ) ## <== in radians. Degrees == cos( angle/2 ) ; so cos_value goes from 1 to -1, and 0 <= angle < 180.
...            ## Could use sin_value too...
...            saturation = 90 - (cos_value * 10)  ## Saturation from 80 --> 100
...            luminance = 50 + (cos_value * 10)   ## Lightness from 60 --> 40
...            HSLColour.hue = hue
...            HSLColour.saturation = saturation
...            HSLColour.luminance = luminance
...            colours.append( HSLColour )
...        return colours
...
...    def __iter__(self):  ## I put this in to answer a different question (see below).
...      for colour in self.colours:
...          yield repr(colour.hue, colour.saturation, colour.lightness)
... 

__iter__ 質問の答えとして書かれた関数 ここ

役に立ちましたか?

解決

  1. ええ?テスト、そして緑の近くに赤くなった場合、別の色になりますか?ここに質問が何であるかわかりません。

  2. PNGを生成してローカルに開くことができます。それはおそらく最も簡単です。 PILはそのための良い図書館です。 http://pypi.python.org/pypi/pillow/

  3. いいえ、申し訳ありませんが、私はそれについて何も知りません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top