LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: bomberxjl

本人抖胆,想翻译Gimp的帮助,谁有兴趣?

[复制链接]
发表于 2003-12-21 22:09:48 | 显示全部楼层
关于脚本的介绍我还没有想好怎样进行,不过看到书上写的,我想可以参照那样写下去。
选把GIMP 上自带的脚本一一介绍。再介绍怎样来写,当然怎样来写来是在 mike Terry 的
教程的基础上修改的。毕尽那是官方的文档嘛。
以下只是个开头,还没有成形。大部分内容都是那本书上的。以后我会加入新东西的。

script-fu 是基于一种名叫scheme 的解释性语言并以向gimp 数据库使用查询函数
的方式进行工作的。所以我们可以用它来做各种各样的事,但普通的gimp 用户将
只能用它来完成以下事情。
想要迅速完成的事。
做起来很麻烦的事,而且比较难记住的事。

gimp 中可用的脚本很多,但只默认安装了这一种。还支持 Perl 和 Tcl 脚本。(这此
脚本可以在 http://registry.gimp.org 下载并安装。)
script-fu 分为两种类型:独立型,图像依赖型。
从名字上就可知道了。独立型脚本可以在 Xtns -> Script-fu -> Type of Script
菜单下找到。而图像依赖型脚本可以在点击鼠标右键后弹出的 Script-fu -> Type
of Script 菜单下找到。(当然这是要在图像窗口上点击的)。
把你写的或网上找到的脚本放在这个目录下就可以用了。:

~/.gimp-1.2/scripts$ ls
Circle.scm

注意文件的扩展名。
在使用脚本时要注意几点,同一时刻只能使用一个脚本。还有不要打开脚本窗口后就直接
按确定按钮,因为大部分脚本要求你进行一下配制的,如选个字体或字号什么的。如果
你给他的是个错误的值。那他就会什么也不做或者给你个出错提示什么的。

独立型脚本:
GIMP 中缺省装了几种。你可以试试用用它们。
以下介绍一下网页主题的(Web page themes)

还有一点提示可以考虑一下:
        不要动所有的奇怪字符,如“'”和“"”。
        确认指定的图案在脚本中存在。
        Padding 指的是文本周围的空间大小。
        bevel width 的值越大按钮看起来就越高。
        Press 的值设置为真,按钮看上去就像是被按下去一样。
        如果不需要实背景,请选择 transparency(透明),如果选择了实背景,应确认其颜色和
网页上背景的颜色一致。

Make Brush 生成画笔
这个脚本可以生成自定义的带虚边和不带虚边的矩形或圆形画笔。
不过如果想使用好这个脚本的话,最好先会使用“画笔,渐变,调色板和图案”对话框。
发表于 2003-12-21 22:43:17 | 显示全部楼层
脚本入门教程

关于脚本的文档不多,英文的不多,中文的更是少。本教程以《Mike Terry 的Script-Fu 教程》为基础

X.2 入门方法

像你学习任何语言一样,学习Script-Fu 脚本也一样,要从语法和语句学起。这个脚本是用的 Scheme 语言。
相信用汉语的人会这类语言的不多。我也不会,我们从小接触到的是C 这种面像过程的语言,之后是C++ 这类面像对像的
。不过你要是学会之后,说他们差不多,我也不会反对的。因为我还是不清楚的。:)只要你下工夫学你一定会成为专家的。
如果你英文好,你有了问题可以和 Mike Terry 联系。Email:mterry@soulfry.com .

X.3 开始学习 四则运算

^Scheme 语言的每个语句都是在括号里的。
^函数的名字或操作符总是在括号里的第一项,其它的是函数的参数。当然不是括号里的东西全是函数。
^数学操作符也被认为是函数。(这点有些特殊)

来分清什么是前缀,中缀和后缀表示法。

^前缀:+ 1 3 (Scheme 中规定的格式)就是数学操作符是函数的理解。
^中缀:1 + 3 (我们通常理解的样子,C语言的样子)。
^后缀:1 3 + (许多HP 计算器规定的方式)

在 shell 中输入 gimp& 来启动gimp ,Xtns-->Script-Fu --> 控制台.. 来启动 Scheme 解释器进行人机对话。
这样可以方便我们了解语句的作用。
在当前命令 文本框中输入:
(+ 1 3)
上面的“SIOD输出”显示:
=> (+ 1 3)

4

要注意 + 和 1 和 3 之间是有空格的。如果没有是会出错的。因为函数名和参数是靠空格来区分的。
(* 4 5)
显示:
=> (* 4 5)

20
-----
=> (/ 8 5)

1.6
-----
=> (- 1 2)

-1
我们看过了加减乘除了。
下面来看看更多的括号是怎样用的,
(+ 3 5 6 7)
这个式子中,你如果想选把 5 和 6 相加怎么办呢?
不要真接加个括号就完了。那样你真的就完了。
=> (+ 3 (5 6) 7)

ERROR: bad function (see errobj)
看到了?坏函数。记起来什么了吧。函数和数学操作符,对。
(+ 3 (+ 5 6) 7)
这样就对了。
发表于 2003-12-21 23:12:04 | 显示全部楼层
X.4 脚本那是语言,那能没有变量

一个语言那能没有变量呢。当然还会有函数的。这在前面已经谈到了。
这部分主要介绍如何建变量和使用它。还有建函数及使用。
声明定义一组局部变量:使用 let * 结构。
声明变量 x y 分别初始化为 1 2 。
(let*        (
                (x 1)
                (y 2)
        )
)
这就完成了初始化,下面来用一下它们。
(let*        (
                (x 1)
                (y 2)
        )
        (+ x y)
)
为了方便输入到控制台来运行。可以写成一行的样子如下:
(let* ((x 1)(y 2)) (+ x y) )
上面声明的变量只在 let* 语句里有效。
(let* ..... )
语句格式为:
(let* (值) 表达式)

在中途改变变量值,可以用 set ! 语句。
(let* ((num 10)) (set! num (+ num num) )
)
注意一下这个语句和上面的声明变量有什么不同了吗?
是一个变量而不是两个。那为什么还要用两个括号呢?这个是必须的,我才发现。以后如果有解释了。我会加进来的。
看看上面的结果吧。和你想的一样吗?

下面来声明函数吧。
(define (name param-list) 表达式)
param-list 是一列限制长度的变量名称,表达式是函数体。
下面看一个简单的函数:
(define (sum x y) (+ x y))

先在控制台输入上面的函数声明,再输入如下:
(sum (sum 5 6 ) 4)
显示为:
=> (define (sum x y) (+ x y))

#<CLOSURE (x y) (+ x y)>
=> (sum (sum 5 6 ) 4)

15
明白了吧。呵呵,
函数的返回值 就是最后一条运行的语句。而Scheme 语言中没有数据类型的概念(为了书写更简单,快捷)。
发表于 2004-1-1 07:58:44 | 显示全部楼层
第5章翻译完了
不日就可以发上来
特务兄,真是好进度!
祝大家新的一年工作顺利
发表于 2004-1-1 15:23:45 | 显示全部楼层
过的够快的,新年快乐,新的一年中祝大家有更多的收获的,
发表于 2004-1-6 17:07:35 | 显示全部楼层
支持汉化!
发表于 2004-1-21 11:31:52 | 显示全部楼层
我的机子坏掉了,开不了机了
耽误了进度,请间量。
发表于 2004-2-17 10:49:44 | 显示全部楼层

5

5. Colorspace 与混和模式
    我们的世界真是很奇妙,每一种我们能看到的颜色都可分解为三种最基本的颜色(三元色)。我们上小学时就知道了"三元色"——红、黄、蓝。并把它们组合起来,形成了所谓的“secondary color”——桔黄、绿和紫色。如果我的听觉也如此工作,那么每一个音符也便可以拆分为“三元音”。组合这三元音就可以奏出美秒的吉他和弦,但事实并非如此。
    这个有趣的现象要归因于人类的视觉方式。在我们的眼睛里面有3种不同的色调(红、黄、蓝);这就是“三元色”的来历。就如同字母表,只由区区26个字母便可以组合出任一个单词,表达任何一个意思。了解到这一点非常的重要。比如在原理上,用三种颜色的像素 ,电脑显示器就可以表示出人一种色彩。
    当然,有一些实际的限制,使三元色不可能完全再现自然界全部的色彩。但是,如果我们不过分追求细节,三元色理论还是可以完全满足需要的。我们把用不同量的三元色生成的一系列颜色,称为”colorspace”。此种定义方式的空间形状是一个立方体。
    从原理上,产生colorspace的三元色并不唯一。理论上,任意三种相对独立的颜色都可以产生一个colorspace。但实际上,由不同的三种颜色产生的colorspace并不完全一样。不同的三元色的选择,通常取决于用于生成颜色的物理仪器。
    显示器使用红黄蓝来生成colorspace,称其为RGB。而打印机使用的是蓝绿、紫红和黄三色墨水,它的colorspace称为CMY。上面两组是比较有代表性的颜色组合。显示器发光而打印机墨水放光。在墨水上照以白色,我们能看到的是白色没有被墨水吸收,而反射回来的部分。
    了解colorspace的概念对于使用GIMP非常重要。因为要有效的修正图象中的颜色就要了解颜色之间的相互作用,此外,分清楚不同的颜色要素对制作选区和蒙版非常有帮助。
    本章分为两大部分:第一部分开始是对三种colorspace,RGB、HSV和CMYK的总体介绍。其中RGB做详细讲解。而后,介绍RGB和HSV之间的关系。从感性上讲,HSV较RGB更为有用,并且可以在GIMP中找到许多用武之地。虽然,GIMP不支持CMYK,但鉴于其的重要性,仍会对其优缺点及pre-press的重要性做一些讨论。
    第二部分描述了透明度的概念及GIMP的16种混合模式。混合模式是合成图层间颜色强有力的工具。我们也可以使用它们来控制绘图工具(painting tools)对颜色的使用。在本章第一部分,关于colorspace的描述对于理解混合模式的原理很重要。在本章的最后,会介绍几个混合模式的实际应用。
发表于 2004-2-17 10:50:37 | 显示全部楼层
5.2 HSV colorspace
     我们对颜色的感知以及平时关于它的谈论都与RGB colorspace 不大相符。比方说,如果我们重新粉刷居室,我们通常考虑的是颜色是否鲜亮,色调是柔和一点还是比较明快些好呢。
     一般来说,我们对于颜色注意到的第一件事是它的色调(hue)。色调描述了shade of color ,并告诉我们某一种颜色在颜色光谱中的位置。红黄紫都是描述色调的词汇。(图4.3:色调(hue)饱和度(saturation)和值(value))图5.3图示了色调的范围,H。H 是一个0-360度的循环。下面将对其进行解释。颜色的另一个重要方面是饱和度。比如,一种颜色只包含红色,没有白色。其饱和度最大。如果我们向红色添加一些白色,红色便会便得柔和一些的粉红色。色调仍是红色,但其饱和度有所下降。如图5.3的垂直轴所示,饱和度由百分率表示,值域为0-100(没有白色的纯红色的饱和度为100)。   
    最后,颜色也有亮度。它描述了来自于某一颜色的光量。如果一种颜色反射了比较多光,我们说它的亮度大。相象一下,白天一辆红色跑车,它的颜色很鲜亮。而当夜幕降临后,由于只有很少的光线反射进眼睛,我们看到的跑车变得比较暗淡。在GIMP中,亮度的量度由一定数量表示,称为“值”(value)。过一会儿,我们会介绍另外几种亮度的度量方式。图5.3的水平轴图示了红色值的范围。和饱和度一样,值也由百分率0-100%表示。我们可以将其范围当作照在一种颜色上的光量。例如,当色调为红色时,value值很高,颜色就看起来很亮;而value值比较低时,颜色就显得较暗。
     色调、饱和度以及value值就像一个colorspace。任何一种颜色都可以分解为三者的组合,并且就像RGB一样,HSV形成的空间也是立方体.
     (图5.4:分解图像为HSV)图5.4图示了在图5.4(a)图像中使用Image:Image/Mode/Decompose功能的结果。
     在分解(decompose)对话框中选取HSV选项,会产生色调、饱和度和value值的分解效果。如图5.4(a)(b)(c)所示。我们会发现,色调值并没有多大的变化,在图像很宽的范围内,它几乎为常量。例如,在一个天空的图像中,虽然有许多饱和度和value值的细节,但色调却非常一致。在HSV三者当中,value值的细节最多。
     因为显示器所生成的颜色全部由红黄蓝三色混合而成。搞清楚HSV colorspace从属于RGB这一点就显得很有益处了。
发表于 2004-2-17 10:52:20 | 显示全部楼层
5.3 HSV与RGB的关系
    更好的理解HSV与RGB colorspace, 可以帮助我们理解二者关系. 我们用一个非常奏效的练习来明确这一点.
    首先, 我先来定义亮度. 在前一节已经做了介绍, 亮度是一块面积所发出的光线有多少被视觉感知的度量. 一盏装有调节装置的灯, 可选择不同等级的亮度. 调亮就增加了我们对亮度的感知. 注意, 亮度并不取决于光线的颜色. 上面所说的灯可以是白色光也可以是红色.
    彩色显示器就可以看做是上万盏灯的集合(即像素), 由于每一盏"灯"都可以独立控制, 整个显示器的亮度就是每一种颜色亮度之和. 在RGB cube中, 有相等亮度的颜色其三元色相加之和是一致的. 对于一个特定的亮度, 颜色的集合表示为一个垂直于中性轴的平面.(图5.5: RGB cube内亮度常量平面) 图5.5为垂直于RGB cube中性轴平面的三个例子. 图5.5(a)中平面最暗; 图5.5(b)中的最亮; 图5.5(c)中的平面亮度介于两者之间. 注意一下, 在同一平面上的颜色为什么会具有相同的亮度. 图中的三个立方体分别显示了25%、50%和75%亮度的颜色平面. 纯白和纯黑分别对应0%和100%的亮度, 在立方体中, 各由一个点表示. 还有许多与亮度机密相关的概念, 它们具有各自不同的特性. 的的正式定义为: (R+G+B)/3 , 它是颜色的一种物理特性, 但与人们日常对颜色的感知并不完全吻合. 正因为如此, 此亮度定义在GIMP中并没有实际的应用. 而GIMP使用lightness, value和luminance(Y=0.3R+0.59G+0.11B), luminance代表了亮度, 它与人们的习惯非常吻合. 因为比利系数0.30、0.59和0.11准确的符合了人眼对红绿蓝三色的感光度. (图5.6: 在中性轴上不同的投影) 图5.6显示了不同的亮度定义在中性轴上的投影. 图中指出一个很具代表性的点,
它在RGB cube中的坐标为220R,60G,120B. 同时还标出了value(V)、lightness(L)和luminance(Y)在中性轴的位置. 如图5.6所示, value值最亮, Y值和L值都是变动的, 决定于RGB三色的选择. 二者的值都可能是最低的.
    然后我们定义饱和度. 饱和度的定义会涉及到brightness的定义.  
                                 那么, 什么是colorfulness呢?  
我们已经注意到, 中性轴是RGB cube的一条对角线, 从0R,0G,0B到255R,255G,255B. 由两点间的黑白灰色构成. 因为, 通常讲, 中性轴上没有"颜色"(及色彩hue). RGB cube中任意一点的colorful-
ness都与到中性轴的垂直距离成比例. 靠近中性轴的点颜色都不是很艳丽(也就是比较暗); 相反,
远离中性轴的点颜色就比较明快. 因而我们定义RGB cube中的点的饱和度为colorfulness与brightness的比率.
    这就意味着, RGB cube 中饱和度相等的点会形成一个圆锥面, 此圆锥面以中性轴为中心轴.(图5.7: RGB cube 中相等的饱和度形成的圆锥面) 图5.7显示了两个RGB cube的例子. 在图5.7(a)中, 显示为饱和度为20%的圆锥面, 5.7(b)为70%饱和度的圆锥面. 我们都注意到了, 在右侧的圆锥颜色看起来更生动一些, 因为其饱和度要大一些. 而左侧的由于饱和度相对较低, 而显得灰暗一些. 看一下图5.2中RGB cube的各个角, 你会发现红、黄、绿青、绿蓝和紫红分布在中性轴周围的六个角上, 且与中性轴距离相同. 因此, 由中性轴和RGB cube表面上任意一点形成的截面是色彩值相等的平面. (图5.8: 色彩值相等的平面) 图5.8图示了三个不同的色彩值相等的截面. 前面我们定义了色彩的范围是0度--360度. 这里我们定义红色的色彩值为0, 并强制规定其值也是360, 如图5.8(b)所示. 在图5.8(a)中, 色彩值为330, 紫色; 图5.8(c)中色彩值为30, 桔黄色. 注意, 虽然在同一截面上, 色彩值相同但brightness和饱和度却不尽相同. (图5.9: The HSV Coordinates in the RGB colorcube) 图5.9概括了HSV与RGB之间的关系. 虽然中性轴代表了brightness而不是value, 我们仍会时常滥用这个概念并把中性轴错当做是value轴. 图5.9中的范例会对我们理解下面要讲的内容会很有帮助. 把HSV Coordinates system记在心里, 让我们来对几个RGB的颜色区域来做观察. 首先, 来看一下蓝绿、紫红和黄色. 它们较红、黄和蓝会更亮. 因为红黄蓝在中性轴的投影相对较短. 与之相似的, 有蓝绿、紫红、蓝及白色形成一三楞锥, 其中所有的颜色对应较暗的颜色. 由此我们可以知道, 靠近中性轴的颜色看起来较为柔和或是说暗(饱和度较低), 而远离中性轴会比较明快.
    5.4 负颜色系统(Subtracture color system)CMY和CMYK
    色彩显示器工作要倚赖RGB colorspace, 而印在纸上的墨水就是另一回事了. 墨水会吸收光线
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表