如何在python中使用rgb值计算着色和着色的数量

如何在python中使用rgb值计算着色和着色的数量,python,rgb,color-coding,Python,Rgb,Color Coding,我试图写一个程序,用户给你一种颜色的rgb值,以及他们想要打印出多少阴影和色调。基本上,我只想打印出一个网格,最左边的颜色是用户输入的基础颜色,然后取决于它的阴影或色调是变亮还是变暗,直到它变成黑色或白色 例如: 用户输入:r=255,g=0,b=0,numints=5,numShades=8 打印色调: 红色,深红色,深红色,深红色,黑色 颜色也一样,只是在变白之前会变浅 我不熟悉编程和python,因此我很难计算出阴影和色调,并使其停止在黑白上。基本上,您希望保持组件之间的比率恒定。 所以,

我试图写一个程序,用户给你一种颜色的rgb值,以及他们想要打印出多少阴影和色调。基本上,我只想打印出一个网格,最左边的颜色是用户输入的基础颜色,然后取决于它的阴影或色调是变亮还是变暗,直到它变成黑色或白色

例如:

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

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

颜色也一样,只是在变白之前会变浅


我不熟悉编程和python,因此我很难计算出阴影和色调,并使其停止在黑白上。

基本上,您希望保持组件之间的比率恒定。 所以,为了使它更暗,只需将所有3个分量乘以一个常数。e、 g.0.9 一次又一次,直到它们都为0,表示黑色


若要使其更亮,请乘以大于1的数字,然后钳制在255

如何计算该比率,以便根据用户需要的色调或色调数将其均匀减少为黑色或增加为白色。所以如果他们想要4,6,或9色,我能做什么计算来计算rgb值乘以什么?这是简单的代数。如果你的最高分量值是C,你需要N个步骤,你需要将C乘以因子F,N次,使它变为零。所以,C*F^N<1==>F~explog1/C/N[我刚从头顶写下,所以检查一下数学]哎呀,应该是:F=1/C^1/Nawesome!有机会的话我会试试的。非常感谢你!