8. GIH对话框
创建新的动画笔刷后,它会显示在图像窗口中,您希望将其保存为 gih 格式。您选择文件 → 另存为…菜单,在新窗口相关字段中使用 gih 扩展名命名您的作品,只要按下保存按钮,就会显示以下窗口:
图 7.18. 描述动画笔刷的对话框
如果将图像另存为 GIMP 图像软管,则会出现此对话框
这个对话框有几个不容易理解的选项。它们允许您决定笔刷的动画方式。
间距(百分比)
“间距”是指用指针勾勒出一个笔触时,连续笔刷标记之间的距离。您必须考虑使用笔刷绘图,无论使用何种绘画工具,例如印花。如果间距很小,印章将非常接近并且笔刷看起来是连续的。如果间距很大,印章将被分开:用彩色笔刷(例如“青椒”)很有趣。值从 1 到 200 不等,这个百分比指的是笔刷“直径”:100% 是一个直径。
描述
当笔刷被选择时,笔刷名称将显示在笔刷对话框(网格模式)的顶部。
单元格大小
这是您将按图层切割的单元格大小…默认为每图层一个单元格,大小为该图层的大小。然后每图层只有一个笔刷面。
我们可以只有一个大图层,并在其中切割将用于动画笔刷不同面的单元格。
例如,我们想要一个具有 8 个不同面的 100x100 像素笔刷。我们可以从 400x200 像素图层,或 300x300 像素图层中(但其中一个单元未使用)获取这 8 个面。
单元数量
这是将在每一图层中切割的单元格数量(每个面一个单元格)。默认为层数,因为每个面只有一层。
显示为
这说明单元格是如何分层排列的。例如,如果您在四层上以每层两个单元的比率放置高度单元,则 GIMP 将显示: 1 行 2 列每图层
。
维度、分级、选择
事情变得复杂了!解释是必要的,以了解如何排列单元格和图层。
GIMP 开始从每一图层检索单元格并将它们堆叠到一个 FIFO 堆栈中(先进先出:先进的位于堆栈顶部,因此可以先出)。在我们的示例中,每图层有 2 个单元格的 4 个图层,从上到下:第一层的第一个单元格,第一层的第二个单元格,第二层的第一个单元格,第二层的第二个单元格…,第四层的第二个单元格。每层一个单元格或每层有几个单元格,结果是一样的。您可以在生成的.gih
图像文件的图层对话框中看到此堆栈 。
然后 GIMP 使用您设置的维度从这个堆栈创建一个计算机阵列。您可以使用四个维度。
在计算机科学中, 对于 3 维数组 (3D) ,数组具有“myarray(x,y,z)”形式。很容易想象一个二维数组:在纸上它是一个包含行和列的数组
对于3维数组,我们不讨论行和列,而是讨论维度和等级。第一个维度沿 x 轴,第二个维度沿 y 轴,第三个维度沿 z 轴。每个维度都有单元格的等级。
为了填充这个数组,GIMP 开始从堆栈顶部检索单元格。它填充数组的方式让人想起里程表:右排数字首先转动,当它们达到最大值时,左排数字开始运行。如果您对基本编程有一些记忆,您将拥有数组 (4,2,2) 的以下连续性: (1,1,1),(1,1,2),(1,2,1) ,(1,2,2),(2,1,1),(2,1,2),(2,2,2),(3,1,1)…. (4,2,2)。 我们稍后将在示例中看到这一点。
除了你可以给每个维度的等级编号,你还可以给他们一个选择模式。绘图时将应用多种模式:
增值
GIMP根据等级在该维度中的顺序从相关维度中选择等级。
随机
GIMP从相关维度中随机选择一个等级。
角度
GIMP根据笔刷的移动角度在相关维度中选择一个等级。
第一个等级是向上的 0° 方向。其他等级按顺时针方向影响值为 360/等级数的角度。因此,在相关维度中有 4 个等级,每个方向变化的角度都会顺时针移动 90°:第二个等级将影响到 90°(向右),第三个等级将影响到 180°(向下),第四个等级将影响到 270°(- 90°)(向左)。[2]
速度、压力、x 倾斜、y 倾斜
这些选项适用于复杂的手绘板。
示例
一维图像管道
好!这一切有什么用?我们将通过示例逐渐看到这一点。您实际上可以在每个维度中放置可以为您的笔刷提供特定操作的案例。
让我们从一维笔刷开始,这将使我们能够研究选择模式的行为。我们可以这样想象:
按着这些次序:
打开一个新的 30x30 像素图像,RGB 带有透明填充类型。使用文本工具创建 4 个图层“1”、“2”、“3”、“4”。删除“背景”图层。
首先使用
.xcf
扩展名保存此图像以保留其属性,然后将其另存为.gih
。另存为对话框打开:为您的图像选择一个目的地。好的。GIH 对话框打开:选择间距 100,在描述框中命名,单元大小为 30x30,1 维,4 等级,然后在选择框中选择“增量”。好的。
直接保存在 GIMP Brush 目录中可能会遇到困难。在这种情况下,请手动将
.gih
文件保存到/usr/share/gimp/gimp/2.0/brushes
目录中。然后回到工具箱,单击笔刷图标打开笔刷对话框,然后单击刷新图标按钮。您的新笔刷出现在笔刷窗口中。选择它。例如,选择铅笔工具并在新图像上单击并按住它:您会看到 1、2、3、4 位数字按顺序依次排列。
取回您的
.xcf
图像文件并将其保存为.gih
,将选择设置为“随机”:数字将以随机顺序显示。
现在选择“角度”选择方式:
一个 3 维图像软管
我们现在要创建一个 3D 动画笔刷:它的方向会根据笔刷方向而变化,它会定期交替左/右手,它的颜色会在黑色和蓝色之间随机变化。
我们必须回答的第一个问题是所需的图像数量。我们将第一个维度 (x) 保留到笔刷方向(4 个方向)。第二个维度 (y) 用于左/右交替,第三个维度 (z) 用于颜色变化。这样的画笔用 3维数组“myarray(4,2,2)”表示:
第一维(x)有4个等级,第二维(y)有2个等级,第三维(z)有2个等级。我们看到有 4x2x2 = 16 个单元格。我们需要 16 张图片。
创建维度 1 (x) 的图像
打开一个新的 30x30 像素图像,RGB 带有透明填充类型。使用缩放功能,绘制一个手指向上的左手。[3]将其另存为
handL0k.xcf
(手掌左 0° 黑色)。打开图层对话框。双击图层打开图层属性对话框并将其重命名为 handL0k。
复制图层。只让复制的图层可见,选择它并应用 90° 旋转(图层/变换/顺时针旋转 90°)。将其重命名为 handL90k。
重复相同的操作以创建handL180k 和handL-90k(或handL270k)。
创建维度 2 (y) 的图像
我们示例中的这个维度有两个等级,一个用于左手,另一个用于右手。左手排名还存在。我们将通过水平翻转来构建右手图像。
复制handL0k 层。只让它可见并选择它。将其重命名为 handR0K。应用图层/变换/水平翻转。
在其他左手图层上重复相同的操作以创建它们的右手图层。
重新排列图层以从上到下顺时针旋转,左右交替:handL0k、handR0k、handL90k、handR90k、…、handR-90k。
创建维度 3 (z) 的图像
创建维度 3 (z) 的图像:第三维度有两个等级,一个用于黑色,另一个用于蓝色。第一个等级,黑色,还存在。我们很清楚地看到,维度 3 的图像将是维度 2 图像的蓝色副本。因此我们将拥有 16 个图像。但是一行 16 层并不容易管理:我们将使用带有两个图像的图层。
选择 handL0k 图层并仅让它可见。使用图像/画布大小将画布大小更改为 60x30 像素。
复制hand0k图层。在副本上,使用桶填充工具用蓝色填充手部。
现在,选择移动工具。双击它以加入其属性:选中移动当前层选项。在缩放的帮助下,将蓝色手掌精确地移动到图层的右侧部分。
确保只有 handL0k 及其蓝色副本可见。右键单击图层对话框:应用带有选项必要时扩展的合并可见图层命令。你会得到一个 60x30 像素的图层,左边是黑色的手,右边是蓝色的手。将其重命名为“handsL0”。
在其他图层上重复相同的操作。
按顺序设置图层
必须按顺序设置图层,以便 GIMP 可以在使用笔刷的某个时刻找到所需的图像。我们的图层还没有整理好,但我们必须更广泛地了解如何将它们整理好。有两种方法可以想象这个设置的顺序。第一种方法是数学上的:GIMP 先将 16 层除以 4;这为第一维提供了 4 组 4 层。每组代表笔刷的一个方向。然后,将每个组除以 2;这为第二个维度提供了 8 组 2 层:每组代表一个 L/R 交替。然后对第三维再除以 2 来表示黑色和蓝色之间的随机颜色。
另一种方法是可视化的,通过使用数组表示。两种方法之间的相关性如下图所示:
GIMP 如何读取这个数组?:GIMP 从为“角度”编程的第一个维度开始 ,例如 90°。在这个 90° 等级中,黄色,在第二维中,它以“增量”方式选择 L/R 交替。然后,在第三维中,它以随机方式选择一种颜色。最后,我们的图层必须按以下顺序排列:
瞧。你的刷子准备好了。首先将其另存为
.xcf
,然后使用以下参数保存为.gih
:间距:100
描述:手掌
单元大小:30x30
单元格数量:16
维度:3
维度1:4级 选择:角度
维度2:2级 选择:增量
维度3:2级 选择:随机
将您的`.gih`文件放入GIMP笔刷目录并刷新笔刷框。您现在可以使用您的笔刷了。
**图 7.19. 这是用笔刷勾画椭圆选区的结果:**
![这是用笔刷勾画椭圆选区的结果:](/projects/gimp-2.10-zh/bc138fafb60ad503f4ab0ec59e629fb4.png)
这个笔刷左右手有规律地交替,黑色和蓝色随机,方向根据四个笔刷方向。
[2]对于以前的GIMP 版本,您可能需要将“顺时针”替换为“逆时针”。
[3]好吧,我们在这里作弊:我们的手是从http://commons.wikimedia.org/wiki/File:Stop_hand.png借来的。