GIMP

GIMP（名称由GNU Image Manipulation Program的首字母组成，意为“GNU图像处理程序”）是一个自由及开放源代码的位图图像编辑器，用于图像照片润饰及编辑、自由绘图、调整大小、裁剪、相片蒙太奇、转换图像格式以及其他专业任务。

GIMP始于1995年，使用GPLv3+，可运行于GNU/Linux、MS Windows、macOS等平台，其原生文件格式的扩展名是.xcf。

## 历史

<image>

GIMP最初称为“通用图像处理程序”（General Image Manipulation Program），由斯宾塞·金柏和彼得·马蒂斯所创。对GIMP的开发始于1995年，作为加州大学伯克利分校eXperimental Computing Facility的中长期发展项目发展；第一个公开发行的GIMP（0.54）于1996年一月发布。当时理查德·斯托曼在次年访问伯克利分校，金柏和马蒂斯向他询问能否将General更改为GNU（由斯托曼发起的操作系统的名字）。在斯托曼的许可下，缩写GIMP的解释改成了“GNU Image Manipulation Program”（GNU图像处理程序），这也意味着这个计划成为GNU计划的一部分，GIMP是由GNOME计划之下的一群自发组织的志愿者开发。

GIMP自第一版开始对计算机架构和操作系统的支持范围有了明显的扩大。第一版所支持的UNIX系统包括Linux、SGI IRIX和HP-UX。从最初的版本起，GIMP还支持了更多的系统，包括Microsoft Windows和OS X；最早支持32位Windows平台的版本由芬兰程序师Tor Lillqvist (tml)于1997年开发，通过GIMP 1.1版发布。

GIMP自第一版发布后重视社区的组建和快速普及。社区成形于启动开发教程与绘画，并分享更好的工作流程和技术。

名为GTK+（GIMP tool kit）的GUI开发工具在GIMP的后续开发中产生。GTK+由其先前版本GTK（不带加号）改造而来，通过重新设计使用面向对象程序设计技术开发。GTK+的开发归结于彼得·马蒂斯对使用Motif开发的GIMP初版不再抱以期望；Motif的使用持续到GIMP 0.60。

## 功能特色

<image>

用于图像编辑工具可在工具箱、菜单及对话框获得。包括填充、画笔、渐变、选取、图层及蒙版……等工具。

颜色：GIMP有多种选择颜色的方式，包括调色板、颜色选择器和用滴管从画布选取颜色。内置的颜色选择器包括了RGB/HSV选择器或scales、水彩画颜料选择器、CMYK选择器和色轮。颜色可通过十六进制代码HTML代码选取。GIMP原生支持索引颜色及RGB色彩空间；其他色彩空间支持使用新的颜色空间分解每个通道变成黑白图像。CMYK、LAB和HSV色彩空间支持这种方式。配色可通过使用混合工具、在图像表面运用渐变和使用GIMP的色彩模式实现。渐变还能完全应用于画笔等工具，当用户使用这种方式生成颜色渐变效果。GIMP包含了许多默认的渐变效果，用户还可以通过工具设置自定义渐变效果。

选择和路径工具：GIMP有许多创建选取区的方式，包括矩形和圆形选择工具、自由选择工具和模糊选择工具（通称“魔棒”）。更多高级的选择工具包括能选择有相似颜色的区域的按颜色选择工具和用智能边缘适配选区形状的剪刀选择工具。GIMP还支持快速蒙版模式，让用户在选区绘图。看上去像一个红色的覆盖区域被添加或删除。前景选择工具是一种简单的互动对象提取（SIOX）方式，用于提取前景元素，例如一个人或一棵树。路径工具允许用户创建一个向量（贝兹曲线，Bézier curve）路径可用来创建围绕自然曲线的综合选择，还可以被命名、保存或用画笔、渐变或线条绘制。

图像编辑：GIMP有多种编辑图像的方式。通用的工具包括画笔、铅笔、喷枪、橡皮和墨水工以新建或混合像素。油漆桶和混合工具用于修改图像的大片区域及辅助混合图像。GIMP还有一个智能工具选项，用更多的复杂算法以使用户在用别的方法费时或做不到的情况下进行操作；这些工具包括包括克隆工具以使用画笔复制点阵图，修复画笔以从一个地方复制点阵及修正被使用的颜色及区域。透视克隆以前面提到的克隆工具相似的方式复制，还能让用户作距离修改。涂抹和加深工具是用于涂抹和加深操作的画笔。掩饰和和火焰工具是能让目标像素更亮或更暗的工具。GIMP的变换工具有对齐工具、移动、切变、旋转、测量、剪裁、透视和翻转工具。

<image>

图层、图层蒙版和通道：GIMP中编辑的图像会保护许多图层。任何一个图层都由通道组成。RGB图像通常有3到4个图像，包含红色、绿色和蓝色三种通道。颜色子通道看上去像不同的灰度图像，但组合到一起就会形成完整的图像。第四个通道可能是Alpha通道（或蒙版）。这个通道以不透明度标明了图像的哪一部分可见，哪一部分不可见。

文字图层可以由文字工具创建，能让用户在图上打字。文字图层可转换成路径或选区。

自动化、脚本和插件：GIMP有约150种标准的效果和滤镜，包括阴影、模糊、动态模糊和噪音。GIMP可以通过脚本语言实现自动操作。Script-Fu是基于Scheme语言，使用TinyScheme脚本语言的工具。GIMP还可以用Perl、Python（Python-fu）或Tcl语言的脚本操作。添加到GIMP的功能不仅有源代码（GIMP核心），还有新编的插件。这些是由GIMP主程序控制及执行外挂程序。MathMap是一种以C语言写成的样板插件。

<image>

GIMP支持使用包括模糊／锐化工具等途径模糊及锐化图像。锐化遮罩工具（Unsharp Mask tool）用于选择性的锐化操作，仅通过对局部的锐化而使图像变得十分清晰。锐化遮罩工具被摄影师用来作出比锐化滤镜更精确地效果。选择性高斯模糊工具（Selective Gaussian Blur tool）以相似的方式对图像的细节部分进行模糊操作。

GEGL：通用图形库（Generic Graphics Library，GEGL）第一次作为GIMP组件是在2.6版发布时期，最初引进时没有用到GEGL的全部功能。自2.6版起，GIMP可用GEGL实行高位深颜色的操作，因为在色彩操作过程中只有极少的数据丢失。全部整合之后，GEGL会使GIMP支持更高的色深及无损的工作流。

文档格式：GIMP支持导入和导出多种不同的文件格式，GIMP的原生格式XCF用于存储所有GIMP处理的图像信息，XCF是 eXperimental Computing Facility 的缩写。

文件格式

导入和导出｜GIMP支持导入和导出BMP、JPEG、PNG、GIF和TIFF，随着多个其它应用程序的文件格式如Autodesk flic动画、Corel Paint Shop Pro图像，以及Adobe Photoshop文档。其他格式包括PostScript文档、X位图和Zsoft PCX。GIMP还支持读写SVG和ICO格式。

仅导入｜GIMP可导入Adobe PDF和许多数码相机的RAW文件，但不能保存这些格式。开源插件UFRaw可完美支持RAW格式。

仅导出｜GIMP可导出MNG格式图像（仅在Linux版本）、HTML（作为有色彩单元的表）、C语言源代码（作为数组）和ASCII艺术（通过插件实现），即使不能读取这类格式。这个有中文版

## 开发进度

GIMP最初是由志愿者在GNU计划名下作为自由软件项目开发。软件的开发进行于一个公共的git源代码库、公共邮件列表和设在GIMPNET IRC网络上的公共聊天频道。

新功能实行于公共的分开的源代码分支并在GIMP小组确保不破坏已有功能的情况下合并入主分支（或开发分支）。有时候这意味着近乎完成的功能不会并入或者在可以用于GIMP之前需要花费几个月或者几年的时间。

GIMP本身是以源代码的形式发布的。在源代码之后，一些跟GIMP维护者有或者没有联系的团体会发布在不同操作系统下的安装包。

GIMP的软件版本号表现为“主-次-微”格式，每个数字都带有各自的意义：第一个数字仅随着主要的开发活动（当前为2）而递增；第二个数字随着版本的新功能递增，单号表达进行中的开发版本乃至数字分配到稳定版；第三个数字在每个发行版前后递增，含有随后应用的错误修正并作为稳定版发布。

每年GIMP都在Google Summer of Code（GSoC）申请席位。到目前为止GIMP参加了除2007年外的所有年会。从2006年到2009年他们有9个GSoC项目取得成功，即便不是所有成功的项目加入到GIMP。修复画笔和透视克隆工具以及Ruby绑定作为2006年GSoC的一部分创建并用于GIMP 2.8.0，即便当时有其他三个项目且没有在GIMP稳定版中使用；这些项目存在于矢量图层和JPEG 2000插件。一部分GSoC项目在2008年完成，但没加入到GIMP的稳定版。

### 用户界面

<image>

GIMP的用户界面是由专注设计和可用性小组设计。这个小组建立于GIMP的开发者加入OpenUsability项目之后。一个为GIMP的界面集思广益的小组已经建立，在此GIMP用户可以提出改进GIMP界面的建议。

GIMP以多窗口和单窗口两种模式显示，GIMP 2.8默认使用多窗口模式。多窗口模式中一套窗口容纳了所有GIMP的功能。默认情况下工具和工具设置置于左边，其他对话框置于右边。

GTK+（GIMP tool kit）用来创建图形用户界面。与GIMP相关的GTK+的创建和历史已在上文描述。

### 自由图形会议

自由图形会议（Libre Graphics Meeting，LGM）是GIMP及其他项目的开发者聚会讨论自由及开放源代码软件界面的一项年度会议。GIMP的开发者在此会议上保留Birds of a feather（BOF）议题。

### 发行

当前版本的GIMP运行于多个操作系统，包括Linux、macOS和Microsoft Windows。许多Linux发行版包含GIMP作为桌面操作系统的一部分，包括Fedora和Debian。

GIMP的Microsoft Windows版本由Tor Lillqvist发起于1997年。GIMP网站所链接的二进制安装包由Jernej Simončič完成开发。MacPorts被列为Mac版GIMP的推荐提供者。这网站不再要求如版本2.8.2和以后原生地运行在Mac OS X的版本。GTK+最初地设计是在X11上面运行。因为OS X可以选择用X11服务器，把GIMP移植到OS X相比创建Windows移植版本更简单。GIMP还可以作为来自Android上的Google Play的Ubuntu noroot包的一部分。

## 复刻及衍生版本

<image>

因为开放源代码，一些复刻、变种及衍生版本被创建以满足用户的需求。GIMP可用于流行的操作系统，其变种或许专为特定操作系统定制。然而这些变种没有被GIMP官网链接或者托管。

知名的包括：

- CinePaint：原名Film Gimp，是GIMP 1.0.4的复刻，用于正片的逐帧润色。CinePaint支持32位IEEE浮点色深每通道，以及色彩管理和HDR。CinePaint主要用于电影业，主要因其支持高保真图像格式。可以用在BSD、Linux和OS X。
- GIMP classic：针对GIMP v2.6.8源代码创建的修补程序来撤销GIMP 2.4到v2.6的用户界面做出的改动。Ubuntu版的GIMP classic可以使用。2011年3月，新的修补可以从SourceForge下载，这一修补紧靠着GIMP v2.7的实验版。
- GIMP Portable：用于Microsoft Windows XP或更高版本的GIMP的便携版，在不同电脑之间保留画笔和预设
- GimPhoto和GIMPshop：用以在某些形式上仿制Adobe Photoshop的衍生版本
- Instrumented GIMP（ingimp）：在滑铁卢大学创建的用来追踪和报告用户对话，带有生成有关怎样使用GIMP的统计的程序，第一版发行于2007年5月5日。ingimp生成的统计报告可以在项目的主页发布。2014年，ingimp网站不再可以访问。
- Seashore、GIMP.app和GIMP on OS X：用于macOS的GIMP衍生版本。

### 扩展

<image>

GIMP Animation Package（GAP）：用于创建动画的GIMP插件。GAP能保存动画为GIF和AVI格式。动画功能依赖于GIMP的图层和文件名编号能力。动画的创建方式是将每个帧创建在其自身的图层上（也就是说将任意图层当作动画处理）或控制任意编号的文件作为视频的一个帧：移动、旋转、翻转、更改颜色、筛选等方式对图层利用插值内函数调用（插件使用），不超过指定的帧范围。生成的动画可保存为动态GIF或视频文件。GAP还提供程序层渐变、帧速率改变，以及路径的移动，可创建复杂的动画。

GIMP Paint Studio（GPS）：GIMP画笔工具预设值的合集，面向艺术家和平面图像设计师提供。可以加速重复性的任务并允许在工作之余保存工具设置。

## 吉祥物

<image>

GIMP的官方吉祥物是Wilber，被SuperTuxKart设定为车手，还在法国国家图书馆Project Blinkenlights展览上展出。

Wilber由Tuomas Kuosmanen于1997年9月25日之前的一段时间完成，作者在收到一个附件以后得以轻松地完成该过程。现时这些内容可以在Wilber Construction Kit工具包中找到，位于GIMP源代码中的

```html5
/docs/Wilber_Construction_Kit.xcf.gz
```

## 基本资料

- 作者：斯宾塞·金柏和彼德·马蒂斯
- 开发者：The GIMP Development Team
- 发行日期：1996年
- 编程语言：C（GTK+）、C++、Python、Scheme
- 操作系统：GNU/Linux、macOS、Microsoft Windows、FreeBSD、Solaris、AmigaOS 4
- 语言：多种语言（支持82种语言，其中37种备有完整翻译的版本）
- 类型：位图图像编辑器
- 许可协议：GNU GPL v3+