添加您自己的GIMP特性

为何使用 GIMP?

使用免费或开源软件的一个最重要的原因是它为选择 该产品的用户提供了一个机会,允许他们添加想要或需要的任何特性。但是,添 加特性的能力受到项目大小和复杂性以及可用文档的性质的限制。因此,尽管 GIMP 是最著名和最成功的开源软件项目之一,但它巨大的代码基可能会令人生畏 。

要理解本文的内容,您应该熟悉 C 编程语言。您还应该了解或准备好了解 Git 版本控制工具。本文中的示例使用 GIMP V2.7(注意,V2.7 是一个开发分支 并不是一个稳定版本)在一个 Linux 环境中创建。本文使用 2009 年春季 发布的 Mandriva Linux 版本,但任一 Linux 版本应该都适用。

您将基于现有绘图工具创建一个工具。本文中创建的工具仅用于指导目的。要 使该工具成为一个实际项目并作为 GIMP 发行版一部分,它必须接受 GIMP 核心 开发人员和 UI 架构师的全面审查。

开始

要使用 GIMP,首先必须 构建 GIMP。尽管仅仅通过解压缩源 tarball 来检查代码比较繁琐,甚至使用针 对代码知识库的 Git Web 界面这种简单一些的方法也是如此,但实际构建代码可 能会更麻烦。

考虑到源代码的大小,GIMP 受到良好的维护和一致的构建 。但是,您仍需处理所需的依赖项问题。当您运行 GIMP 这样的软件时,许多库 将自动安装到您的系统上。当您需要构建软件时,除了这些库二进制文件之外, 还需要更多信息。大多数 Linux 发行版将这些依赖项同主安装包分开包装。除了 这些库之外,您还需要编译器本身和相关的工具集。在最流行的 Linux 发行版中 ,您只需键入几个命令就可以使一切就绪。

在 Windows 上构建 GIMP

在 Microsoft Windows 系统上构建 GIMP 比较麻烦,因为在构建系统想当然 地认为 Windows 系统上也有 Linux 系统上默认安装的那些程序和库。如果您在 Windows 上工作,建议您在一个虚拟机器上创建一个 Linux 安装来设置您的构建 环境。您可以使用 Mingw32 工具Linux 虚拟机器为 Windows 编译 GIMP。

对于 GIMP 源代码本身,您应该从 Git 获取一个开发版本。最好获取一个 Git 树,即使您将在稳定版本的代码上工作。这使您可以轻松地跟踪您对代码的 更改。Git 是一个分散的版本控制软件,可用于将 GIMP 代码保持在主知识库上 。尽管存在图形界面,它被设计用于命令行使用。

获取 GIMP 源代码

要获取最新的开发版本,只需从命令行键入 git clone git://git.gnome.org/gimp。几分钟后,您将拥有完整的 GMIP 代码。这些代码 组织良好,使您可以在超过 3,000 个下载文件中相对轻松地找到方向。

一个 Git 使用说明

在进行更改时,您不必担心会丢失任何原始文件,甚至您的更改,假如您决定 保留它们以便进行定制,这要归功于 Git 系统。例如,要以它在 GIMP 知识库中 的方式重置文件,只需键入 git checkout <filename>。

无论如何,您必须熟悉 Git,即使您不打算回馈您的代码。它能极大地简化您 的工作,即使您使用它来跟踪您对代码基的更改。例如,在任何给定时刻,您都 能通过键入 git diff 来查看您对代码基的所有更改。

正确使用 Git 允许您创建本地分支,您可以在本地分支中开发不同的特性, 并随时使用 GIMP 中的修改来对其进行更新。

时间: 2024-11-04 18:20:05

添加您自己的GIMP特性的相关文章

简介Word 2013表格设计的新特性

微软在过去几周提供了许多Word 2013的信息,包括近期一些此软件关于如何处理批注与修订的文章.本周,微软透露了一些在Word 2013中表格设计的新特性. Word官方博客的一篇博文中,微软表示,用户在Word 2013中的表格里插入行或列时,可以用其全新设计的插入按钮.插入按钮会在表格外任意行与列之间显示.微软说,插入控制按钮显示后,只需点击一下,相应位置的行或列就插入完成了. 微软还对Word 2013的表格风格进行了全新的设计.新版Word允许用户使用列表或网格设计风格对表格进行快捷风

Photoshop CS3五大出类拔萃新特性

  我目前最喜欢的五项PsCS3的新特性是: 1.全新的智能过滤器 2.快速选择工具和优化选区边缘 3.高级校准与混合进行照片合并 4.自动图层校准和混合 5.用可调解的角度使用消失点工具 下面我就具体说说这几个出类拔萃的新功能: 全新的智能过滤器 Adobe终于带给我们非线性的全新的过滤器.对此我真的很想高呼"万岁!"在过去,你在一个线性序列中应用过滤器及效果时,一个过滤器就会改变你的图像,而第二个过滤器则会改变你当前已经被改变了的图像,而第三个过滤器又会再次对此图像做出改变.这样的

Vista五大存储新特性介绍

微软公司向后退了一大步,因此Vista能前进一大步.在即将到来的Vista操作系统中的新的存储特性反映出微软认识到它的Windows操作系统在存储管理特性上落后于其它竞争对手的平台.新的Vista有着改进了的文件系统.本地支持混合的磁盘驱动(H-HDD).分割卷.扩展的I/O优先化和驱动器加密特性. 存储器I/O的领先的分析者Greg Schulz将这些特性看作是微软终于坦白承认这个现实,存储器管理不再是Windows操作系统的外围,而实实在在地是它核心系统的一部分.Schulz引用Vistsa

Vista的五大存储新特性

微软公司向后退了一大步,因此Vista能前进一大步.在即将到来的Vista操作系统中的新的存储特性反映出微软认识到它的Windows操作系统在存储管理特性上落后于其它竞争对手的平台.新的Vista有着改进了的文件系统.本地支持混合的磁盘驱动(H-HDD).分割卷.扩展的I/O优先化和驱动器加密特性. 存储器I/O的领先的分析者Greg Schulz将这些特性看作是微软终于坦白承认这个现实,存储器管理不再是Windows操作系统的外围,而实实在在地是它核心系统的一部分.Schulz引用Vistsa

全面解析HTTP/2:历史、特性、调试、性能

写在前面 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议.设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法.通过 HTTP 或者 HTTPS 协议请求的资源由统一资源标识符(URI)来标识. 虽然HTTP/1.1稳定运行了十多年了,但HTTP/2来势汹汹,作为技术工程师有必要学习一下HTTP/2.今天,阿里云CDN安防技术专家金九将从历史.特性.调试.性能四个层面,来全面解析HTTP/2,

Xcode 8新特性的使用和遇到的坑_IOS

目前还在用Xcode 7.3 一直没有更新,毕竟可怜了我弄的那么多插件...言归正传,自己从Xcode 8问世就一直在关注,今天偶然看到一篇文章总结的不错,随手转载过来顺便再次整理了一下,在此感谢原著作者! 原文如下: Xcode 8正式版在9月13日已经推送给开发者下载,我也在十一回来之后,就下载了新的Xcode.下载之后就出现了很多编译错误,之前的插件也不能用了,但是发现Xcode8把好多不错的插件功能整合到自身了,感觉这点也挺不错. 每个版本Xcode都会带来很多新特性,Xcode 8也不

Bitbucket引入了强制双因素认证和IP白名单特性

Atlassian宣布添加了两项新特性,致力于让Bitbucket更加安全:IP白名单和强制双因素认证. 借助IP白名单特性,组织能够限制用户查看.push或clone Bitbucket repository的IP地址.按照Atlassian的说法,Bitbucket是第一个实现IP白名单特性的Git repository管理工具,这样能够确保即便账号的密码外泄了,数据依然是安全的.具体来讲,Atlassian相信通过IP白名单策略,那些喜欢使用on-premises版本控制系统的用户能够对用

深入探讨SQL Server 2000对XML的支持

server|xml  [作者简介:]Wayne,新一代程序员,十二岁时开始学习编程,十三岁时拥有自己的电脑,先后学过Basic.Pascal.C.FOXPRO.VB.DELPHI.C++.SQL,学习Java语言后,遂成为Java的疯狂崇拜者,现就读于中国科技大学. 引言 内容导航  * 引言 * 配置SQL Server 2000的IIS虚拟目录 * 使用 HTTP 执行 SQL 语句 * 使用XML模板进行查询 * XPath查询 架构和模板   我们可以很简单的使用ADO访问数据库中的数

扩展ASP.NET内置GridView控件之一

asp.net|控件 本文Bilal Haidar详细解释如何扩展ASP.NET2.0内置的GridView控件,同样还将解释了扩展后的GridView控件所具有的新的重要特征:基于行的上下文菜单和GridViews行的过滤功能. 引言 本文将聚焦对ASP.NET2.0内置的GridView进行扩展的一系列新功能.其中本文介绍两个主要特征:基于行的上下文菜单(Row_base ContextMenu)和基于过滤功能的GridView的行,在上周我曾经介绍了GridView控件. 在我们自定义的G