gpt4 book ai didi

python - 如何在 Tkinter 中制作颜色选择比例尺?

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:52 25 4
gpt4 key购买 nike

我正在尝试为 Tkinter 应用程序创建颜色选择范围。

我对 tkinter.colorchooser 模块或每个 RGB channel 的单独比例不感兴趣。我需要像 Photoshop 中的颜色 slider 一样的单一比例尺。

我目前拥有的是一个垂直比例小部件,其 RGB 整数值从 0 (#000) 到 16777215 ( #FFF)。问题在于,使用一系列 RGB 整数会导致非常奇怪的颜色序列——选择不会像下面的第一张图片那样从红色到粉红色再到蓝色等。

相反,我得到了第二张图片中的颜色序列。它压缩得很厉害,因为有 16777215 种不同的颜色被压缩到 300 个像素中。第三张图片是放大的。您可以看到它从黑色变为绿色,然后几乎从黑色变为绿色,等等。

Color slider in Photoshop
Gradient based on RGB integers
Closer look at the gradient

这是我的代码的相关部分:

MAXRGBINT = 16777215  # Corresponds to (255, 255, 255)
scale = ttk.Scale(slidframe, orient=VERTICAL, length=75,
from_=0, to=MAXRGBINT,
command=lambda _: set_color('sprite'))

基本上,我想要一个按“正常”顺序显示颜色的比例小部件。我如何使用数值来做到这一点?

最佳答案

您的问题是您正在为三维色彩空间使用一维尺度。

对于您正在寻找的内容,我建议使用 HSL or HSV颜色空间代替,有问题的比例操纵色调参数。当您确实需要 RGB 值时,您可以通过从 HSL/HSV 值转换来获取它们(我链接的维基百科页面解释了如何)。

关于python - 如何在 Tkinter 中制作颜色选择比例尺?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30688639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com