4. Version 2.0

まずは分析から–GIMPのコードはCで書かれた基コードが23万行あり、 そのほとんどが 1.2 から 2.0 への進化のために書き直されました。 しかしユーザーの視点から見れば GIMP 2 は基本的に GIMP 1から何も変わっていません。 機能は GIMP 1 ユーザーが迷わないよう徹底して同じ物にしました。 構造改革の方針として開発者はユーザーに見えないところでコードを大幅に整理し、 管理がし易く将来に渡って機能追加に伴う労力を減らすための投資的改造を施しました。 このように、 GIMP 2 の基コードは重点的に GIMP 1 に比べてもっと優れた構成になり、 より管理がゆきとどくものに変えられています。

基本のツール群

GIMP 2 の基本のツールは GIMP 1 からあったものとあまり違いがありません。 色域選択ツールがツールボックスに加わりましたが、 これは GIMP 1 で選択ツールのメニューオプションとして既にあった機能です。 変換ツールは回転、 拡大・縮小、 剪断変形、 遠近法の各ツールに分かれて特化しました。 色操作は今回レイヤーと結びつけられて、 レイヤー のメニューに入れられましたが、 これは単なる整理です。 いずれも実際はレイヤーを操作するものなのに不合理にもこれまでは画像メニューに入っていました。 以上、 完璧に目新しいツールは今回の公開にはありませんが、 テキストツールとパスツールの2種類のツールが以前のバージョンからすっかり模様替えしました。 これらについては後述します。

ツールのユーザーインタフェースも重大な変更が加えられました。 ツールオプションダイアログは別のツールを選ぶたびにボックスの大きさが変わってしまわないよう変更されています。 ツールを切り替えるとウィンドウが大きさを変えてしまうので、 うんざりさせられたユーザーが大勢いました。 今ではツールオプションダイアログは初期設定の場合ずっと開いたままツールボックスに連接が可能となり、 すぐに見付け易くなっています。

ツールオプション

多くのツールのツールオプションで GIMP 1 には無かった能力が新たに加わりました。 留まるところなくさらに顕著に改良が加えられています。

すべての選択ツールに置換、 追加、 除外、 交わりのモードボタンが付きました。 かつて GIMP 1 では選択ツールのモードを切り替える手段は Ctrl キーもしくは Shift キーとの組み合わせしかなく、 これらのキーが他の機能でも使われていたために混乱のもととなっていました。 具体的には例えば矩形選択ツールで正方形を形づくらせるには、 Shift キーを押しながら操作することになっています。 これだと[既にある選択範囲に]正方形の選択範囲を加えるためには、 まず Shift キーを押してクリックしたら Shift キーを放し、 再び Shift キーを押してそのままマウスポインタでなぞって選択範囲を作ってから Shift キーを放すという手順を踏むことになります。 同じことがこのボタンで簡単にできるようになったのです。

変換ツールでは変換対象のオブジェクトをレイヤーか選択範囲かパスのどれにするのかをボタンで制御できます。 これで例えば矩形選択の範囲をいろいろな四辺形に変形できます。 パスの変形はとくに以前よりもずっと簡単になりました。

フェードアウトグラデーションで描画が描画ツールのオプションに加わりました。 描画ツールで使うブラシ、 グラデーション、 パターンは GIMP 1 でこれまで全ツールに共通した設定しかできなかったのとは対照的に、 個々の描画ツールごとに異なる設定を保持できるようになりました。 もうこれからは鉛筆で描画ツールとブラシで描画ツールで異なるブラシが選べるようになりますし、 スタンプツールと塗りつぶしツールで違うパターンを選べるようになります。 これらの設定項目はそのボタン上でマウス車をまわしても順に切り替えられるようになり、 ブラシを格段に手早く簡単につけかえられるのでとても便利になりました。

ユーザーインタフェース

GIMP 2 で最も目につく変化がユーザーインタフェースです。 GIMPは今回GTK+に代わってGTK2+グラフィカルツールキットを採用しました。 ライブラリの入れ替えに伴いドッキング可能なダイアログと、 同じウィンドウでのタブ化ドッキングという素敵な機能が加わりました。 タブ化は人気のある各種のウェブブラウザで実現している機能です。 GIMP 1 はダイアログをコンピュータ画面上であたり構わず開くということで有名になっていました。 この点 GIMP 2 は定位置の枠に入るよう躾けられます。 ダイアログには小さなタブ調整メニューがつき、 系統だった作業空間を最大限柔軟に構築できます。

画像ウィンドウには新たに面白い機能がつきました。 初期設定では必ずしも有効にしなくても構いませんが、 環境設定ダイアログの ユーザーインタフェース画像ウィンドウ のページにあるオプションです。 例えばブラシの輪郭を表示オプションは描画ツールを使っているときブラシの輪郭をポインタの代わりに表示できます。 外観サブセクションでは画像ウィンドウの最上部のメニューバーを表示するかどうかを切り替えられます。 新たにフルスクリーンオプションがつき全画面で作業できるようになりました。 表示のオプションは画像ウィンドウを 第2ボタン でクリックすると出てくるメニューの 表示 サブメニューからも操作できるようになりました。 いわゆる画像ウィンドウメニューは描画空間の左上隅の小さな三角形アイコンボタンをクリックしても呼び出せるようになりました。 環境設定ダイアログで選んだ設定は初期値 (デフォルト) として扱われ、 画像ウィンドウメニューから設定した同じオプションはそのウィンドウでのみ有効となります。 (フルスクリーンモードへの切り替えは F11 キーを使い、 通常ウィンドウに戻すには Esc キーを使います。)

GIMP 2 からキーボードアクセラレータ機能がついたのでメニュー操作が楽になりました。 マウスでメニューを辿るのが煩わしいとお感じならば、 キーボードを使う方法が近道かもしれません。 一例を挙げれば、 メニューバーがある場合なら新しい画像を生成するには AltFN の順にタイプしてゆきます。 メニューバーが無い場合はキーボードショートカット Shift+F10 で左上からメニューを開き、 あとは方向キーを使ってメニュー操作するか、 FN の順にタイプしても新しい画像を作成ダイアログが呼び出せます。

GIMPはいつも使うメニュー項目を簡単に呼び出せるように長年に渡り動的ショートカットを提供してきました。 これは、 メニューを開いてから使いたいメニュー項目の上にマウスポインタをかざし、 割り当てたいキーの組み合わせを押すだけでキーボードショートカットが登録できるしくみです。 この機能はひきつづき置かれますが、 既にあるショートカットを不意に上書きすることのないようGIMP 2.0 以降は初期状態では無効の設定となります。

GIMPは出荷時からメニュー上の数々の項目にキー割り付けがしてあります。 しかしキー割り付けを出荷時設定ではなく例えば Photoshop 風に変更したい場合は、 個人用GIMPディレクトリの menurc ファイルを oldmenurc のような名前に変えて、 代わりに ps-menurc ファイルを menurc の名前に変更もしくは複製してからGIMPを再起動してください。

タブやドックで整理

GIMP 2.0 からタブ化ダイアログが導入され、 みんなが望んでいた作業空間の視界が手に入りました。 ほとんどのダイアログは他のダイアログのウィンドウ上までドラッグして放つとタブ化したダイアログの組み合わせになります。

さらにはそれぞれのダイアログの底部にもドッキング可能な連接部分がついていて、 タブはここまでドラッグして放てばダイアログの下につながったタブになります。

スクリプト機能

Python-Fuが今回から GIMP 2 標準の外部的なスクリプトインタフェースになりました。 つまり Python 言語で書かれたスクリプトでGIMPの機能が使えるようになります。 逆に見ればGIMPプラグインを書くために Python が使えるのです。 Python なら初心者にとっても、 とりわけ GIMP 1 で Script-Fu を書くために Lisp 風の Scheme 言語を理解するのに比べれば分かり易いはずです。 Python 結合の面では共通制御のクラス群で増設が図られたので、 基本機能を実行するのにGIMPのプロシージャデータベースを隅々まで探す必要がありません。 しかも Python には統合開発環境や大規模なライブラリがついていますし、 Linux™ どころか Microsoft Windows™ や Apple Mac OS X™ 上でさえ動作できます。 GIMP 2.0 で最大の欠点は Python-Fu で使っているユーザーインタフェースが Python 言語の能力を完全には生かしきれていないことです。 現在のインタフェースの設計は単純なスクリプトのサポートにとどまっていますが、 今後の開発ではもっと精巧な版にするのが目標です。

GIMP-Perlは GIMP 2 標準の配布物に含まれなくなりましたが、 別パッケージとして導入可能です。 現在GIMP-Perlは UNIX™ システム風のオペレーティングシステムでのみサポートされています。 その中身は簡単なスクリプト言語と、 GTK2-Perlモジュールを使うさらに洗練されたインタフェースをコード化する能力です。 PDL (Perl Data Language) を利用してゆけば画素の直接操作が可能です。

Script-Fu はSchemeの派生であることもあり、 直観的でなく、 使いにくくまた本物の開発環境が欠けているかねてからの欠点がいまだにあります。 でも一点だけ Python-Fu に比べて大きな利点があります。 Script-Fu スクリプトはGIMPが直接解釈するので追加でソフトウェアを導入する必要がないのです。 Python-Fu は Python 言語のパッケージの導入が欠かせません。

テキストツール

GIMP 1 の標準テキストツールの重大問題はテキストをいったん描画させると変更できなくなることでした。 テキストに何か変更を加えたいときは取り消してから加工し直すしか方法がありません。 (もちろん操作履歴にそこまで遡れる余裕がある幸運が必要ですし、 この方法はテキストを置いてから今までに行なった他の作業も取り消してしまいます。) GIMP 1.2 ではダイナミックテキストプラグインもあり、 特殊なテキストレイヤーを作成でき、 変更フォームを使って決め打ちせずに保持できるしくみになっていましたが、 不具合があり扱いに困りました。 この第二世代のテキストツールはかつてのテキストツールとダイナミックテキストプラグインとの発展的融合です。 フォント、 大きさ、 色、 揃え位置、 アンチエイリアス、 字下げ、 文字間隔のすべてのツールオプションが利用可能になりました。 新たなテキスト項目を作成するときは画像をクリックすれば小さな編集ウィンドウが現われます。 ここでタイプした文字が同時に画像上にも表示されます。 (しかも改行キーが正しく扱われています。) テキスト用に新たなレイヤーが作成されます。 このレイヤーは記入されたテキストに応じて大きさを自動的に変化します。 ファイルから素のテキストを転用したり、 アラビア語のように右から左への書き方さえもできます。 テキストレイヤーを選択すると編集ウィンドウが開かれその文章を変更できます。

パスツール

第二世代のパスツールは全く新しいインタフェースをもっています。 はじめに目につく大きな違いは必ずしもパスを閉じなくてもよくなったことです。 パスが途切れ途切れの曲線成分で構成できます。 つぎに大きな違いはパスツールが作成、 編集、 移動の3つのモード間を切り替えて使うようになったことです。

作成モードではパスを生成してノード (アンカー) を加え、 曲線の縁 (分節) をドラッグしたりノード曲線のハンドルをドラッグしたりして曲線の形を変更します。

編集モードでは曲線を変形できるのはもちろんノードを曲線の分節の途中に追加したり、 ノードや分節を削除したりも可能です。 また離れた2本の成分をつなぎあわせることもできます。

3つめに挙げた移動モードは名前のとおりパス成分を移動します。 パスの成分がいくつかあるときは個別にパス成分を移動できます。 一挙にすべての成分を移動したいときは Shift を押しながら操作を行ないます。

他にも2つのパス関連の機能が GIMP 2.0 に加わりました。 GIMPSVG画像をラスター画像に転用できるだけでなく、 SVGのパスからGIMPのパスへと内容を損わず移せます。 つまりいよいよGIMPがお好みのベクター描画ツールの補助ツール以上のはたらきができるようになったことを意味します。 もうひとつの機能はベクトル指向の描線の導入であり、 パスツールをさらに向上させるものとなります。 以前の版ではパスや選択範囲の境界線を描画とはパスなどに沿ってブラシでなぞって描くという内容でした。 このモードもひきつづき利用できますが、 パスの曲線は今後 libart を使った精密な描線もできます。

その他の改良点

その他のいろいろな改良点を簡潔に挙げます。

  • 各所で高品質なアンチエイリアス処理。 テキストツールでは最も顕著に。

  • アイコンやメニューが着せ替え可能に。 自作のアイコン集は環境設定ダイアログのユーザーインタフェースのページのオプションを設定すればツールボックスで利用可能に。 配布物にsmallアイコンを標準添付。

  • 画像をテンプレートとして保存すれば新規画像の生成に利用可能。

  • 下側のレイヤーに合成する上側のレイヤーのモードに、 ハードライトソフトライト微粒取り出し微粒結合の4つの新たなモードが登場。

  • 現在活性化している選択範囲を利用し、 選択範囲が収まる大きさに画像を直接切り抜く機能。 画像切り抜き

  • ガイドに加えてグリッドの機能が利用可能に。 ガイド機能の補完として使え、 オブジェクトを完璧に整列させるのが容易に。

  • レイヤーダイアログではかつて一覧表に表示される小さな画像を 第2ボタン でクリックするしか呼び出す方法がなかった隠し機能が全廃され、 より一貫性をもつものに。画像ウィンドウのレイヤーメニューからも直接にレイヤーマスク、 透明部分、 変形、 レイヤーの色の操作が可能に。

  • ディスプレイフィルタが画像ウィンドウのメニューに登場 (表示ディスプレイフィルタ...)。 これを使うと画像を変更することなくガンマ値やコントラストを別の値にしてみたり色覚異常を想定した仮想的な表示が可能に。 実はこの機能は長らくGIMP開発版でのみ利用可能だったが今までの安定版GIMPに登場させるには安定度が足りなかった。

  • 色選択ダイアログに新たにCMYKモードが登場、 タブはプリンタアイコン。

  • JPEGファイルの読み込み、 書き込みのモードでデジタルカメラが埋め込むExifタグのデータを取り扱い。

  • MNGアニメーションをサポート。 MNGとはアニメーション可能なPNGの一形式。 PNGGIFに比べ、 色数の多さ、 256階調の透明度、 そしてとりわけ特許の呪縛がないなどすべての面において有利。 ウェブ標準の形式であり最近の人気のあるウェブブラウザならどれもサポート有り。

  • GIMPアニメーションパッケージ (GAP) にオニオンスキン効果、 ブルースクリーン機能、 さらには音響サポートが加わった。

  • かつて追加パッケージにあったチャンネルミキサーフィルタが加わり、 置き場所はウェブフィルタから フィルタ サブメニュー内に移動。