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/

相关文章:

python webkitgtk xmlhttprequest文件协议(protocol)

python - 检查.getfile() 与检查.getsourcefile()

python - Tkinter 中的 tcl 错误

ffmpeg - 使用 libavcodec 将视频解码为 YUV422

python - Python 的 "import X"和 "from module import X"之间的区别?

python - 如何将 user_input 转换为列表?

python - 如何使 Tkinter Scale 小部件的 slider 从某个位置开始?

python - 在未先打开 ide 的情况下无法打开 .py 文件

c++ - 使用 Mat OpenCV 访问像素

php - 在 PHP 中将十六进制颜色转换为 RGB 值