我需要每个 tkinter“颜色名称”和“颜色值(例如 rgb)”之间的映射。 它可以是一个一一对应的列表,也可以是一个转换这些列表的函数。
有像 matplotlib 的 hex2color 或 to_rgba 这样的函数,但它们不支持所有 tkinter 颜色名称,因为其中一些颜色名称对于模块来说太特殊了(例如“幽灵白”);我想知道当然一定有一个特定于 tkinter 本身的模块,因为它的开发人员需要它来实现该模块。
最佳答案
使用winfo_rgb
方法。如果您将其传递为黄色,它将返回 rgb 值(16 位),然后您可以将其除以 256 以获得大约 8 位值。
root.winfo_rgb('yellow')
返回 (65535, 65535, 0)
root.winfo_rgb('ghostwhite')
返回 (63736、63736、65535)
获取 8 位 RGB 值作为元组的 oneliner 是
rgb = tuple((c//256 for c in root.winfo_rgb('ghostwhite')))
关于python - 从 tkinter 颜色名称获取 RGB 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67416409/