第3章 ウィルバー君とはじめの一歩

目次

1. 基本概念
2. 主なウィンドウ
2.1. ツールボックス
2.2. 画像ウィンドウ
2.3. ダイアログとその合体
3. 取り消し
3.1. 取り消しの効かない操作
4. GIMP早分かり
4.1. この演習の意図
4.2. 画像のサイズを変える (拡大・縮小)
4.3. JPEGを軽くする
4.4. 画像を切り抜く
4.5. 画像に関する情報を見る
4.6. モードを変える
4.7. 画像を裏返したり反転させる
4.8. 画像の回転
5. 直線のひきかた
5.1. この演習の意図
5.2. 実行例

1. 基本概念

図3.1 GIMPのマスコットキャラクター Wilber (ウィルバー) 君

GIMPのマスコットキャラクター Wilber (ウィルバー) 君

GIMP配布ソースの docs ディレクトリにはこのマスコットの多彩な変身ぶりが見られるWilber_Construction_Kit.xcf.gz というファイルがあります。 この絵は Tuomas Kuosmanen 氏 <tigert AT gimp.org> の作品です。


この章はGIMPでつかわれる用語や概念の基本的なことがらを手短に紹介します。 これらは他の章を理解していただくのに欠かせません。 ただし折に触れてもっと詳しい説明もいたします。 またこの章においては相互参照やリンクでいっぱいになるのを (一部の例外を除き) あえて避けました。 しかし索引から容易に説明へ辿り着けるよう、 ここに挙げた内容はいずれも高度にまとめてあります。

画像

画像はGIMPが扱う根源的な要素です。 誤解を恐れずに言えば、 ひとつの画像TIFFJPEGといった種類のファイルひとつに対応しています。 するとひとつの画像がひとつの画像ウィンドウに喩えられそうですが、 これは正しくありません。 画像ファイルが一つでもそれを表示するウィンドウを複数開くことができるからです。 もちろんいくつもの画像をひとつのウィンドウで表示することはできませんが、 ウィンドウ表示していない画像もありえます。

GIMP形式の画像はいくぶん複雑なものです。 画像といえば大抵は一枚の紙面に見立てるのが一般的ですが、 ここではレイヤーと呼ばれるページを重ねた一冊の本のようにとらえて下さい。 GIMP形式では選択マスクや数層のチャンネル、 数面のパスがさらにこれに加わります。 実際、 GIMPは画像に対するいろんな加工をひとつひとつ情報の断片としてとらえる機構があり、 それらを画像のparasites (寄生体)と呼んでいるのです。

GIMPは複数の画像を同時に開いておくことが可能です。 大きな画像だと数メガバイトものメモリを占めるはずですが、 GIMPでは精巧にタイル分割してメモリ管理を行うしくみがあり、 たいへん大きな画像でも流麗に扱えるようになっています。 無論これにも限界がありますが、 もっと使えるメモリを増やせばシステムの処理能力は高まります。

レイヤー

画像を本に喩えれば、 レイヤーはそれぞれのページにあたります。 最も簡単な画像であればレイヤーはたった1層しかなく、 つまりは紙が一枚あるだけといえます。 無論熟練した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をインストールしたところでこれらの言語のシステムが自動的に設置され利用可能となるわけではないので、 そのスクリプトが直ちに動作する保証はありません。