# 使用Python和Scribus制作RGB立方体【Programming（Python）】

``` x = 300
y = 300
r = 0
g = 0
b = 0

if scribus.newDoc(scribus.PAPER_LETTER, (0,0,0,0),scribus.PORTRAIT, 1,                  scribus.UNIT_POINTS, scribus.NOFACINGPAGES, scribus.FIRSTPAGERIGHT):
while r < 256:
while g < 256:
newcolor = str(r) + '_' + str(g) + '_' + str(b)
if newcolor == '0_0_0':
newcolor = 'Black'
scribus.defineColorRGB(newcolor,r, g, b)
rect = scribus.createRect(x + g, y, 5, 5)
scribus.setFillColor(newcolor, rect)
scribus.setLineColor(newcolor, rect)
g = g + 5
g = 0
r = r + 5
y = y – 5```

“摆弄数字”最终或多或少地经过反复试验才能得到我想要的。 创建第二张图之后，我需要第三张图（对于Red–Blue），其原点位于左上角，其中Red向左增加，Blue向下方增加。

``` #!/usr/bin/env python
# black2rgb.py
"""
Creates one-half of RGB cube with Black at origin
"""

import scribus

x = 300
y = 300
r = 0
g = 0
b = 0

if scribus.newDoc(scribus.PAPER_LETTER, (0,0,0,0),scribus.PORTRAIT, 1, scribus.UNIT_POINTS, scribus.NOFACINGPAGES, scribus.FIRSTPAGERIGHT):
while r < 256:
while g < 256:
newcolor = str(r) + '_' + str(g) + '_' + str(b)
if newcolor == '0_0_0':
newcolor = 'Black'
scribus.defineColorRGB(newcolor,r, g, b)
rect = scribus.createRect(x + g, y, 5, 5)
scribus.setFillColor(newcolor, rect)
scribus.setLineColor(newcolor, rect)
g = g + 5
g = 0
r = r + 5
y = y - 5

r = 0
g = 0
y = 305

while b < 256:
while g < 256:
newcolor = str(r) + '_' + str(g) + '_' + str(b)
if newcolor == '0_0_0':
newcolor = 'Black'
scribus.defineColorRGB(newcolor,r, g, b)
rect = scribus.createRect(x + g, y, 5, 5)
scribus.setFillColor(newcolor, rect)
scribus.setLineColor(newcolor, rect)
g = g + 5
g = 0
b = b + 5
y = y + 5

r = 255
g = 0
y = 305
x = 39
b = 0

while b < 256:
while r >= 0:
newcolor = str(r) + '_' + str(g) + '_' + str(b)
if newcolor == '0_0_0':
newcolor = 'Black'
scribus.defineColorRGB(newcolor,r, g, b)
rect = scribus.createRect(x, y, 5, 5)
scribus.setFillColor(newcolor, rect)
scribus.setLineColor(newcolor, rect)
r = r - 5
x = x+5
b = b + 5
x = 39.5
r = 255
y = y + 5

scribus.setRedraw(True)
scribus.redrawAll()```

``` #!/usr/bin/env python
# white2rgb.py
"""
Creates one-half of RGB cube with White at origin
"""

import scribus

x = 300
y = 300
r = 255
g = 255
b = 255

if scribus.newDoc(scribus.PAPER_LETTER, (0,0,0,0),scribus.PORTRAIT, 1, scribus.UNIT_POINTS, scribus.NOFACINGPAGES, scribus.FIRSTPAGERIGHT):
while g >= 0:
while r >= 0:
newcolor = str(r) + '_' + str(g) + '_' + str(b)
if newcolor == '255_255_255':
newcolor = 'White'
scribus.defineColorRGB(newcolor,r, g, b)
rect = scribus.createRect(x + 255 - r, y, 5, 5)
scribus.setFillColor(newcolor, rect)
scribus.setLineColor(newcolor, rect)
r = r - 5
r = 255
g = g - 5
y = y - 5

r = 255
g = 255
y = 305

while b >= 0:
while r >= 0:
newcolor = str(r) + '_' + str(g) + '_' + str(b)
if newcolor == '255_255_255':
newcolor = 'White'
scribus.defineColorRGB(newcolor,r, g, b)
rect = scribus.createRect(x + 255 - r, y, 5, 5)
scribus.setFillColor(newcolor, rect)
scribus.setLineColor(newcolor, rect)
r = r - 5
r = 255
b = b - 5
y = y + 5

r = 255
g = 0
y = 305
x = 39
b = 255

while b >= 0:
while g < 256:
newcolor = str(r) + '_' + str(g) + '_' + str(b)
if newcolor == '255_255_255':
newcolor = 'White'
scribus.defineColorRGB(newcolor,r, g, b)
rect = scribus.createRect(x + g, y, 5, 5)
scribus.setFillColor(newcolor, rect)
scribus.setLineColor(newcolor, rect)
g = g + 5
g = 0
b = b - 5
y = y + 5

scribus.setRedraw(True)
scribus.redrawAll()```

0 条评论

• ### 学网络编程前的计算机知识普及——一图解乾坤

可能有朋友会好奇，前两天刚发布了数据结构，现在突然又发布网络编程，那此刻的我到底在学些神马？哈哈，我这学期的目标就是学数据结构和网络编程，至于学的先后，我想你应...

相信大家前段时间肯定看到一篇文章名为《只因写了一段爬虫，公司200多人被抓！》的公众号文章（文章的描述已经显而易见，大家都非常清楚了）

• ### python爬虫：爬取你喜欢的高清图片

抓取到的图片要保存到电脑本地，所以就想着最好能够自己挑选本地任意一个文件夹作为存储路径

• ### （数据科学学习手札70）面向数据科学的Python多进程简介及应用

进程是计算机系统中资源分配的最小单位，也是操作系统可以控制的最小单位，在数据科学中很多涉及大量计算、CPU密集型的任务都可以通过多进程并行运算的方式大幅度提...

• ### app逆向入门分析——破解某APP登陆请求参数

前段时间做爬虫遇到一个app，里面的数据需要登录之后才能拿到，而且登录不能用密码，只能通过验证码登录。 这不是明摆着欺负人么，按赵四哥那句话来说就是：

• ### 性能优化指南（5000 字小结）

作为一个程序员，性能优化是常有的事情，不管是桌面应用还是web应用，不管是前端还是后端，不管是单点应用还是分布式系统。本文从以下几个方面来思考这个问题：性能优化...

• ### Evaluating the linear regression model评估线性回归模型

In this recipe, we'll look at how well our regression fits the underlying data. ...

• ### [新手必看] 17个常见的Python运行时错误

对于刚入门的Pythoner在学习过程中运行代码是或多或少会遇到一些错误，刚开始可能看起来比较费劲。随着代码量的积累，熟能生巧当遇到一些运行时错误时能够很快的定...

• ### 警告！你的Python代码命名太烂了，命令你熟读本篇迷你命名指南！

刚开始我丝毫不慌，祭出我的 debug 两板斧，小小 bug 何足挂齿，看我分分钟解决你！

• ### 数据分析最有用的25个 Matplotlib图

50个Matplotlib图的汇编，在数据分析和可视化中最有用。此列表允许您使用Python的Matplotlib和Seaborn库选择要显示的可视化对象。