首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试HSL颜色,最好避免与绿色相邻的红色(常见的色盲类型)。

测试HSL颜色,最好避免与绿色相邻的红色(常见的色盲类型)。
EN

Stack Overflow用户
提问于 2011-01-09 22:20:07
回答 1查看 628关注 0票数 1

此页顶部答案的启发,我编写了一个python程序来生成N个不同的HEX颜色。不同的是,最初的作者将使用math.random()生成饱和度和亮度,而我则使用三角函数,我可以保证它总是给出唯一的色调、饱和度和亮度,同时也提供了这样的优势:i可以编程使黄色比蓝色更暗,允许与白色背景和黑色文本(我需要它做的)更好的对比度。

我实际使用的代码也通过RGB将HSL转换为HEX代码,这样我就可以创建网页颜色代码。

我的问题是:-

  1. 使用这个模型,我如何保证不会出现在绿色旁边??
  2. 生成颜色代码是很容易的,但是我怎么能很容易地看到它们呢?目前,我必须上传一个相当大的文件到服务器,生成pdf / png / eps,然后再下载。
  3. 我可以通过测试做到这一点,但有谁有经验使用HSL模型产生的颜色,其对比度是最大的白色背景与黑色文本之上的颜色?蓝调可以使黑色文本很难看到,黄色有时很难在白色的背景下看到……

ps。这实际上不是我使用的代码,但都是从这里开始的。完整的python脚本是可用的这里

干杯,

亚历克斯

代码语言:javascript
复制
>>> 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__函数作为对这里问题的回答

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-09 22:34:56

  1. 嗯?测试,如果你的红色接近绿色,你会得到另一种颜色?我不知道这里有什么问题。
  2. 您可以生成一个PNG并在本地打开它。那可能是最简单的了。PIL是一个很好的图书馆。http://pypi.python.org/pypi/Pillow/
  3. 不,对不起,我对此一无所知。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4642219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档