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 を使った精密な描線もできます。

その他の改良点

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

  • Higher-quality antialiasing in some places — most notably in the Text tool.

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

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

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

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

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

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

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

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

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

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

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

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