python - 从 tkinter 颜色名称获取 RGB 值

标签 python tkinter rgb color-mapping

我需要每个 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/

相关文章:

rgb - 获取和设置 CCSprite 中像素的 RGB/RGBA 值 (cocos2d-x)

python - 退出python子进程中的无限进程

python - vlc mac python 绑定(bind)视频输出和 vlc.py 的位置

python - 在 Raspberry Pi Zero 上安装 chromium 或 Firefox Webdriver 的可靠方法

python - AttributeError : '_tkinter.tkapp' object has no attribute 'text' in tkinter

python - Tkinter 拖放

Python Tkinter 滚动条问题

ios - 使用 translucent = YES 抓取 UINavigationController 的 UIColor 的 rgb

java - 滚动垂直像素列上的所有颜色组合

Python:保存包含当前日期的 Excel 文件