mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
PRF
@zianglei
This commit is contained in:
parent
228134c884
commit
9e8febb180
@ -1,6 +1,6 @@
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "zianglei"
|
||||
[#]: reviewer: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: subject: "Make an RGB cube with Python and Scribus"
|
||||
@ -9,17 +9,18 @@
|
||||
|
||||
使用 Python 和 Scribus 创建一个 RGB 立方体
|
||||
======
|
||||
使用 Scribus 的 Python 脚本功能,开发一个显示 RGB 色谱的 3D 立方体。
|
||||
|
||||
> 使用 Scribus 的 Python 脚本编写器功能,开发一个显示 RGB 色谱的 3D 立方体。
|
||||
|
||||
![cubes coming together to create a larger cube][1]
|
||||
|
||||
当我决定这个夏天要玩色彩游戏时,我想到通常色彩都是在色轮上描绘的。这些色彩通常都是使用色素而不是光,并且你失去了任何对颜色亮度或光度变化的感觉。
|
||||
|
||||
作为色轮的替代,我想在立方体表面使用一系列图形来显示 RGB 频谱。色彩的 RGB 值将在具有 X-、Y-、Z- 轴的三位图形上展示。例如,一个平面将会保持 B(或蓝色)为 0,其余的坐标轴将显示当我将 R(红色)和 G (绿色)的值从 0 绘制到 255 时发生的情况。
|
||||
作为色轮的替代,我想在立方体表面使用一系列图形来显示 RGB 频谱。色彩的 RGB 值将在具有 X、Y、Z 轴的三维图形上展示。例如,一个平面将会保持 B(蓝色)为 0,其余的坐标轴将显示当我将 R(红色)和 G (绿色)的值从 0 绘制到 255 时发生的情况。
|
||||
|
||||
事实证明,使用 [Scribus][2] 及其 [Python 脚本编写器][3] 功能实现这一点并不困难。我可以创建 RGB 颜色,使矩形显示颜色,并以 2D 格式排列它们。我决定设置颜色值的间隔为 5,并让矩形一边测量 5 个点。因此,对于每个 2D 图形,我将使用大约 250 种颜色,立方体一边测量 250 个点,也就是 3.5 英寸。
|
||||
|
||||
我使用下面这段 Python 代码完成了绿 - 红图的任务
|
||||
事实证明,使用 [Scribus][2] 及其 [Python 脚本编写器][3] 功能实现这一点并不困难。我可以创建 RGB 颜色,使矩形显示颜色,并以 2D 格式排列它们。我决定设置颜色值的间隔为 5,并让矩形按 5 个点(pt)进行绘图。因此,对于每个 2D 图形,我将使用大约 250 种颜色,立方体的一个边有 250 个点(pt),也就是 3.5 英寸。
|
||||
|
||||
我使用下面这段 Python 代码完成了绿 - 红图的任务:
|
||||
|
||||
```python
|
||||
x = 300
|
||||
@ -44,11 +45,11 @@ if scribus.newDoc(scribus.PAPER_LETTER, (0,0,0,0),scribus.PORTRAIT, 1,
|
||||
y = y – 5
|
||||
```
|
||||
|
||||
这个脚本在 **300,300** 位置开始绘制图形,这个位置大约是一个美国信件大小的纸张的水平中心,大概是垂直方向从顶部到底的三分之一位置;这是图像的原点,然后它沿着 X 轴(绿色值)水平构建图形,然后返回到 Y 轴,向上走 5 个点,然后绘制下一条矩形线。
|
||||
这个脚本在 `300,300` 位置开始绘制图形,这个位置大约是一个美国信件大小的纸张的水平中心,大概是垂直方向从顶部到底的三分之一位置;这是图像的原点,然后它沿着 X 轴(绿色值)水平构建图形,然后返回到 Y 轴,向上移动 5 个点,然后绘制下一条矩形线。
|
||||
|
||||
![Red-Green graph][4]
|
||||
|
||||
这看起来很简单;我只需要调整一下数字就可以把立方体的另一边画出来。但这不仅仅是再画两个图,一个是蓝 - 绿色,另一个是红 - 蓝色的问题。我想创建一个展开的立方体,这样我就可以打印、剪开然后折叠它,创建一个 RGB 的 3D 视图。因此,下一部分(向下的页面)的原点(黑色的角落)需要在左上角,其水平方向是绿色,垂直方向是蓝色。
|
||||
这看起来很简单;我只需要调整一下数字就可以把立方体的另一面画出来。但这不仅仅是再画两个图,一个是蓝 - 绿色,另一个是红 - 蓝色的问题。我想创建一个展开的立方体,这样我就可以打印、剪开然后折叠它,创建一个 RGB 的 3D 视图。因此,下一部分(向下的页面)的原点(黑色的角落)需要在左上角,其水平方向是绿色,垂直方向是蓝色。
|
||||
|
||||
“调整数字”最终或多或少变成了试错,从而得到我想要的东西。在创建了第二个图之后,我需要第三个图,它是红 - 蓝色的,原点位于左上角,红色向左递增,蓝色向下递增。
|
||||
|
||||
@ -62,7 +63,7 @@ if scribus.newDoc(scribus.PAPER_LETTER, (0,0,0,0),scribus.PORTRAIT, 1,
|
||||
|
||||
![Second half of RGB cube][6]
|
||||
|
||||
现在,是时候轮到打印机了!在这里,你可以直观了解彩色打印机如何处理 RGB 颜色到 CMYK 颜色的转换以及打印颜色密集空间。
|
||||
现在,是时候轮到打印机了!在这里,你可以直观了解彩色打印机如何处理 RGB 颜色到 CMYK 颜色的转换以及打印颜色密集空间。
|
||||
|
||||
接下来,朋友们,是剪切粘贴时间!我可以用胶带,但我不想改变表面的外观,所以我在切割的时候在两边留下了一些空间,这样我就可以把它们粘在里面了。根据我的经验,在复印纸上打印会产生一些不需要的皱纹,所以在我的复印纸原型完成后,我把立方体打印在了更厚的纸上,表面是哑光的。
|
||||
|
||||
@ -74,8 +75,7 @@ if scribus.newDoc(scribus.PAPER_LETTER, (0,0,0,0),scribus.PORTRAIT, 1,
|
||||
|
||||
最后,我做这个项目很开心。如果您也想参与其中,这里有两个脚本。
|
||||
|
||||
这是前半部分 :
|
||||
|
||||
这是前半部分:
|
||||
|
||||
```python
|
||||
#!/usr/bin/env python
|
||||
@ -235,7 +235,7 @@ via: https://opensource.com/article/19/7/rgb-cube-python-scribus
|
||||
作者:[Greg Pittman][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[zianglei](https://github.com/zianglei)
|
||||
校对:[校对者 ID](https://github.com/ 校对者 ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux 中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user