目次
図 3.1. GIMPのマスコットキャラクター Wilber (ウィルバー)君
GIMP配布ソースの docs/images/
にはこのマスコットの多彩な変身ぶりが見られるWilber_Construction_Kit.xcf.gz
というファイルがあります。 この絵は Tuomas Kuosmanen 氏 <tigert AT gimp.org>の作品です。
この章はGIMPでつかわれる用語や概念の基本的なことがらを手短に紹介します。 これらは他の章を理解していただくのに欠かせません。 ただし折に触れてもっと詳しい説明もいたします。 またこの章においては相互参照やリンクでいっぱいになるのを (一部の例外を除き) あえて避けました。 しかし索引から容易に説明へ辿り着けるよう、 ここに挙げた内容はいずれも高度にまとめてあります。
画像はGIMPが扱う根源的な要素です。 誤解を恐れずに言えば、 ひとつの「画像」がTIFFやJPEGといった種類のファイルひとつに対応しています。 するとひとつの画像がひとつの画像ウィンドウに例えられそうですが、 これは正しくありません。画像ファイルが一つでもそれを表示するウィンドウを複数開くことができるからです。もちろんいくつもの画像をひとつのウィンドウで表示することはできませんが、 ウィンドウ表示していない画像もありえます。
GIMP形式の画像はいくぶん複雑なものです。 たいていは画像を一枚の紙面に見立てるのが一般的ですが、 これは「レイヤー」と呼ばれるページを重ねた一冊の本のようにとらえて下さい。GIMP形式では選択マスクやチャネル群、 パス群がさらにこれに加わります。 じっさいGIMPは画像に対するいろんな加工をひとつひとつ情報の断片としてとらえる機構があり、 それらを画像の「parasites (寄生体)」と呼んでいるのです。
GIMPは複数の画像を同時に開いておくことが可能です。 大きな画像だと数メガバイトものメモリを占めるはずですが、 GIMPでは精巧にタイル分割してメモリ管理を行うしくみがあり、 たいへん大きな画像でも流麗に扱えるようになっています。 無論これにも限界がありますが、 もっと使えるメモリを増やせばシステムの処理能力は高まります。
画像を本に例えれば、 レイヤーはそれぞれのページにあたります。 最も簡単な画像であればレイヤーはたった一層しかなく、 つまりは紙が一枚あるだけといえます。無論熟練したGIMPユーザならば、 レイヤーが何層にも重なった画像を何十枚と扱うことになるでしょう。レイヤーは不透明とは限らず、 しかも画像全体を覆う必要もないので、 画像を見たときそこには最前面だけでなくその背面のレイヤーの部品がいくつも見えているかもしれません。
GIMPにおけるチャンネルは、 画像を構成するレイヤーの重なりをさらに再分割した最も小さな単位です。 チャンネルはどれもそれが属するレイヤーと同じサイズをとり、 ひいては画素 (ピクセル) 数も同じということです。 画素はひとつひとつが0から255の範囲で値をもつ容器といえます。 その値の意味を定めるのがチャネルの種類です。つまりRGB(赤緑青)色型式での R-チャンネルとはおのおのの画素に収められた赤色だけをまとめたものであり、 選択チャンネルとは画素がどの程度の強度で選択されているかを表す値になり、 アルファチャンネルでの値は相対する画素の透明度を表すのです。
画像を扱う際、 その一部だけを対象とする場面は少なくありません。 「選択」のしくみはこのためにあります。 画像ごとにそれぞれ選択範囲ができ、 明滅する点線が選択範囲と非選択範囲とを分けているところが見てとれます。 ただし本当はこれで全てではありません。 GIMPの選択は一切か無かの二分論に留まらぬ高度なもので、 その実体はよく描き込まれたグレースケールチャンネルなのです。 点線が示しているのは選択の強度が50%のレベルをなぞった単なる輪郭線にすぎません。 ですから逆に選択チャネルを可視化してそのすばらしい詳細を見たければ、 ただ クイックマスク ボタンを押すだけでいつでも切り替わります。
GIMPの扱い方の秘訣のほとんどは、 選択範囲をいかに思い描いたとおりに選択するかということと不可分です。 選択範囲のとりかたこそが重要なカギを握っており、 GIMPはこの機構に係る道具を数多く用意しています。 数々の選択ツール、 選択作業のメニュー、 さらにはクイックマスクモードに切り替えるボタン—このモードでは選択チャンネルがまるで色のチャンネルであるかのように「選択を描く」ことも可能なのです。
何か失敗したら、 取り消しましょう。画像に加えた作業はほとんど全て取り消しができます。 失敗に気付いたときに、 仮にそこまでかなりの手数を経ていても取り消せるということです。 GIMPはこのために作業履歴を録っています。 メモリを消費するとはいえ、 履歴は無制限です。 履歴は最も古いものから順に消されてゆきますが、 数十手もの取り消しを可能にするためできるだけ多く履歴が残るように、 一部の動作については極めてメモリの消費を小さくしています。 しかし莫大なメモリを履歴のために消費する動作もあります。 GIMPでは一画像あたりの履歴用メモリの上限を設定できるようにしてありますが、 そのままでも少なくとも2、3手まで戻れます。 (履歴の及ばない重大な動作に「画像を閉じる」があります。 このためGIMPでは何かしら動作が加えられた画像を閉じる際には確認を求めるようにしています。)
画像をGIMPで加工するうえで、 大多数の工程はGIMP自身が行いますが、 さらにGIMPと密接に連携する「プラグイン」と呼ばれる外部プログラムを利用し、 より洗練された方法で画像やGIMPの部品を処理するしくみが備わっています。 多くの重要なプラグインはGIMPに同梱されていますが、 別口で入手できるものも多数あります。 GIMPに新機能を追加するというと大変そうですが、 実はプラグインを (スクリプトも) 書くのは簡単なのでGIMPの開発スタッフでなくてもできてしまいます。
実際フィルタメニューの全コマンドと、 その他のメニューのかなりの数のコマンドが、 プラグインで実装されています。
プラグインはC言語で書かれますが、 GIMPではスクリプト言語も使えます。いま大多数のスクリプトはScript-FuというGIMP特有の言語で書かれています。 (ご興味のある方にひとこと: これはSchemeと呼ばれるLisp風言語の方言です。) GIMPではPythonやPerlで書かれたスクリプトも使用可能です。これらの言語ならばScript-Fuよりも柔軟で強力ですが、 ひとつ問題があって、 GIMPをインストールしたところでこれらの言語のシステムが自動的に設置され利用可能となるわけではないので、 そのスクリプトが直ちに動作する保証はありません。