【问题标题】:How to calculate a number of shades and tints using a rgb value in python如何在python中使用rgb值计算阴影和色调的数量
【发布时间】:2014-12-30 11:03:22
【问题描述】:

我正在尝试编写一个程序,在该程序中,用户为您提供颜色的 rgb 值以及他们想要打印出的阴影和色调的数量。基本上我只想打印出一个网格,最左边的颜色是用户输入的基色,然后取决于它的阴影或色调是变浅还是变深,直到它变成黑色或白色。

例如:

用户输入:r = 255, g = 0, b = 0, numTints = 5, numShades = 8

打印色调: 红色,深红色,深红色,深红色,黑色。

Tint 也一样,只是变浅直到变白。

我是编程和 python 的新手,所以我无法弄清楚如何计算阴影和色调并让它在黑白上停止。

【问题讨论】:

    标签: python rgb color-coding


    【解决方案1】:

    基本上,您希望保持组件之间的比率不变。 因此,要使其更暗,只需将所有 3 个分量乘以一个常数。例如0.9 一次又一次,直到全部为 0,表示黑色。

    为了更亮,乘以大于 1 的数字,并钳制在 255

    【讨论】:

    • 我如何计算比率,以便根据用户想要的阴影或色调的多少,均匀地减少到黑色或增加到白色。因此,如果他们想要 4、6 或 9 种色调,我可以通过什么计算来确定将 rgb 值乘以什么?
    • 这是简单的代数。如果您的最高分量值为 C,并且您想要 N 步,则需要将 C 乘以因子 F,N 次使其变为零。所以,C*F^N F ~ exp(log(1/C) / N) [我只是从头顶写的,所以检查数学]
    • 糟糕,应该是:F=(1/C)^(1/N)
    • 太棒了!当我有机会时,我会尝试一下。非常感谢!
    猜你喜欢
    • 2011-09-30
    • 2013-07-03
    • 2016-03-08
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 2011-08-08
    • 2022-01-08
    相关资源
    最近更新 更多