【发布时间】:2013-01-01 00:01:46
【问题描述】:
看起来它会比实际简单得多,但是如何使用 python 生成所有 16,777,255 种 rgb 颜色?
【问题讨论】:
-
您可能想做其他事情,也许是颜色选择器?这不是它的完成方式。此外,没有理由认为 RGB 被限制为每个通道 8 位(因此限制为 2^24 种颜色)。
看起来它会比实际简单得多,但是如何使用 python 生成所有 16,777,255 种 rgb 颜色?
【问题讨论】:
8 位 RGB 值是数字 0..255 的三元组。您可以使用 itertools 中的笛卡尔积函数方便地生成它们。
itertools.product(xrange(256), repeat=3)
【讨论】:
颜色通常表示为十六进制数字,实际上只是整数。所以一个从 0 到 16,777,215 (0xFFFFFF) 的简单循环就足以生成所有 24 位 RGB 颜色。
在 python 2.x 中,你可以这样做:
allcolors = range(0xFFFFFF+1):
【讨论】:
list(range(...)) 在这里会更好(在 3.x 中。在 2.x 中,range() 已经返回一个列表)。无需为了制作列表而制作循环。