我正在做一个学校项目,我们应该从0-16777215之间的数字中检索三个颜色代码(红色,绿色和蓝色)(因为256x256x256 = 16777216)。我不明白这个数字如何产生三种颜色代码。
以下代码是任务A的一部分,我已解决:
background = input ('Choose background color:')
innersq = input ('Choose color of inner square:')
# set up drawing
setup(330, 330, 0, 0)
screensize(315, 315)
goto(-60, 150)
# choosing colors
bgcolor(background)
color(innersq)
创建此代码是为了使用户可以输入绿色,蓝色,红色等。
新代码应该获得输入0-16777215并为三种主要颜色的每一种计算颜色代码。
代码的最后一部分应该是这样的:
#choosing colors
bgcolor(Rb0-255, Gb0-255, Bb0-255)
color (Rb0-255, Gb0-255, Bb0-255)
答案 0 :(得分:1)
这是一种颜色的标准表示形式。将输入视为二进制或十六进制,而不是十进制。前8位是red
部分,后8位是green
部分,后8位是blue
部分。
您可能希望使用整数除法将所需部分移至数字的右侧,然后使用模运算符%
来获取所需的八位。攻击同一想法的另一种方法是使用按位和运算符&
来获取最后的位。
这应该足以让您动起来。