我在下面有一些代码:
color = complexity * (255 / iterationCap)
r = (color >> 16) & 255
g = (color >> 8) & 255
b = (color >> 0) & 255
Run Code Online (Sandbox Code Playgroud)
我试图从color变量得到的浮点数计算颜色.
目前,我使用Python 3.3,试图位和移位and它们与255,以获得正确r,g和b值.
我得到的错误是:
TypeError: unsupported operand type(s) for >>: 'float' and 'int'
Run Code Online (Sandbox Code Playgroud)
目前我正在使用图像库将像素绘制到文件中,我只是将我的颜色元组添加到一个数组上,然后我将其输入Image.putdata(..).
在Python 3中,/运算符是浮点除法.您想要//用于整数除法.
鉴于您对代码应该执行的操作的评论,我们可以编写如下内容:
color = int(complexity * 255 / iterationCap) # gives an integer number from 0 to 255
r = color >> 16
g = color >> 8
b = color
Run Code Online (Sandbox Code Playgroud)
随着复杂性的变化,这会产生灰度渐变.