WEB开发网
开发学院软件开发Java 添加您自己的 GIMP 特性 阅读

添加您自己的 GIMP 特性

 2010-08-25 00:00:00 来源:WEB开发网   
核心提示: 在绘图动力系统、动画画笔、绘图模式和现有工具的所有可能组合中,许多组合都可以被实现,添加您自己的 GIMP 特性(10),目前不可能实现的就是使一个单一绘画笔触的颜色呈放射状变化,以便画笔的中心呈现一种颜色,检索将要绘图的缓冲区、要使用的当前画笔、绘图选项和绘图动力系统将应用的颜色,然后填充将要

在绘图动力系统、动画画笔、绘图模式和现有工具的所有可能组合中,许多组合都可以被实现。目前不可能实现的就是使一个单一绘画笔触的颜色呈放射状变化,以便画笔的中心呈现一种颜色,而画笔的外围呈现另一种颜色。笔触的颜色选择将遵循活动渐变色,因为它适用 “color from gradient” 绘图选项。

发现需要更改的特性

要使这个应用程序获取具有上述功能的一个额外绘图工具,第一步是确认需要复制、修改和添加到构建系统的文件。需要检查的第一个位置是 app/tools 目录中的 gimppaintbrushtool.h 和 gimppaintbrushtool.c 文件。

令人沮丧的是,这些文件只是一些小文件,主要包含一些样板文件代码,用于将这个工具创建为一个 GObject 类。返回命令行,在 app 目录中,您可以针对 paintbrush 执行一个 grep,检查是否有其他位置可能包含相关代码。

这次,返回的是一个更大一些的列表,其中包含几个文件和每个文件中的一些点。好消息是您得到了一些结果。不太好的消息是,由于您正试图克隆画笔工具,您必须访问这些文件中的大部分及其对应的头文件(.h),要么复制它们,要么将一些引用添加到您的新工具,就像当前画笔工具也有一些引用那样。

清单 9 显示了执行 grep 后列出的文件。

清单 9. 搜索画笔的 grep 的结果

./core/gimpbrush.c 
./core/gimpcontext.c 
./paint/gimp-paint.c 
./paint/gimpairbrush.c 
./paint/gimppaintbrush.c 
./pdb/paint-tools-cmds.c 
./tools/gimp-tools.c 
./tools/gimppaintbrushtool.c 
./widgets/gimpcursor.c 

还有一个名为 gimpaintbrush.c 的文件,它没有 tool 后缀。打开该文件进行编辑。这个文件看起来似乎正是我们要寻找的。它的最后一个函数 _gimp_paintbrush_motion 实际执行一系列函数调用,检索将要绘图的缓冲区、要使用的当前画笔、绘图选项和绘图动力系统将应用的颜色,然后填充将要绘图的缓冲区的像素。它通过调用 gimp_brush_core_paste_canvas 来提交这个笔触。

上一页  5 6 7 8 9 10 

Tags:添加 自己 GIMP

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接