[ Webmasters コラム 目次 ]
Webmasters コラム (1999/9/5)

GIMP を使って画を描く


wilber 君 GIMP とは?

gimp working scene

GNU Image Manipulation Program の略. 非常に多様な画像の処理および製作が可能なプログラムで, GNU GPL の条件で配布されるフリーソフト. 非矩形選択, レイヤ, チャンネル, パス, 多様な描画機能, 各種画像処理フィルタ, プラグイン・インターフェース, scheme および Perl によるマクロ プログラミング, XInput による特殊ポインティングデバイス (タブレット等) をサポートしている.

1998 年半ばに安定版であるバージョン 1.0 がリリースされ, 今では多くの Linux ディストリビューションに含まれている. 安定版の最新は 2000年 5月現在 gtk+-1.0.x を使うものが 1.0.2, gtk+-1.2.x を使うものは, 1.0.4 である. バージョン番号の使い方は Linux カーネルと同様に小数点以下 1桁めが偶数のものは安定版のリリースを意味し, 不具合の修正に重点が置かれているのに対して小数点 1桁めが奇数のものは, 安定した動作よりも設計の変更や新たな機能の追加を目的とした, 開発者向けのリリースを意味する.

2000年 5 月現在, 開発者版の最新はバージョン 1.1.23 . 1.0.x からの主な変更点として, 目に見えるものだけで パス機能の強化, 複数の新しい描画ツール及びクイックマスクの追加, メッセージ等の国際化, drag and drop のサポートなど ユーザインターフェース全般の改善, タブレット対応の強化, ヘルプブラウザなど, 各種プラグインの大幅な追加 などがある. もちろん, 内部の設計も改善されて, 処理速度とレスポンスの向上も 図られている. 現在, バージョン 1.2 のリリースに向けて, Feature Freeze されているので, 「目玉の数が十分ならば, どんなバグも深刻では ない」を実践するために, どんどんダウンロードして使ってみよう!

wilber 君 この記事について

私は, 主に GIMP を使って www.linux.or.jp のアイコンや表紙バナーなどを製作している. GIMP は非常に素晴らしいプログラムであり, これを使って画を描くのはとても楽しい. www.linux.or.jp を訪れるみなさんにも, GIMP をどんどん使って画を描いて欲しいと願い, この記事を書いた.

プログラムの紹介記事の一般的なテーマは, プログラムのコンセプト, 歴史, 機能であろうが, ここでは敢えてそういう足もとから攻めるアプローチを取らず, 「画を描きたい人間」の視点で書いて行きたい.

多くのディストリビューションに含まれている GIMP は, 安定版であるバージョン 1.0 系列だが, この記事では現在開発中のバージョン gimp-1.1.x を使用する. 開発中ということもあって, gimp-1.1.x は 通常はソースコードで配布されている. したがって, 大抵の場合は インストールにコンパイラその他一通りの開発環境が必要だろう. GIMP は主に Linux 上で開発されているので, 開発環境さえ整っていれば普通の フリーソフトをインストールするのに必要なもの以上の特殊なノウハウは不要だ. インストールについては, www.gimp.org やプログラムパッケージの付属文書にもっと詳しく正確な情報があるので, ここでそれを繰り返すことはしない. 新規に GIMP をインストールする場合は, 私は断固として 1.0 よりも 1.1 を お勧めする. 1.0 が既にインストールされている場合も, 本気で使う気なら, もう 1.1.x に入れ換えるべき段階である. gimp-1.1.11 動作中のスクリーンショットを紹介しておこう.

wilber 君 はじめに

コンピュータで画を描くのは, 紙やキャンバスに絵の具や鉛筆で画を描くのに比べて幾らか制限はあるものの, 非常に手軽だ. まず, この点を強調しておきたい. 紙やキャンバスに描くためには, 普通はまず画材を買ってこないといけない. しかし, 画材屋はコンビニよりもずっと数が少ないので, 地方によってはちょっ と買い出しに行くといってもたいへんな手間がかかる. また, アトリエがある人は別だけど, 普通は画を描くときは道具を引っ張りだしてきて準備しないといけないし, 終ったら後かたづけもしないといけない. しかし, GIMP はその点で圧倒的に気楽だ. インストールされていれば, 準備は 単に GIMP を起動するだけだし, 後かたづけは セーブして終了するだけ. ゴミが出たり床や壁に絵の具を付けて, 母ちゃんや嫁さんに叱られる心配も無い. とても手軽だ.

だから, あまり難しく考えず. また, いきなりダ・ヴィンチやミケランジェロみたいな凄い作品を作ろうとせずに, 気楽に起動して使って欲しいと思う. この文書を見て, 「これくらいなら自分も描けるぜ」と感じてもらいたい.

wilber 君 描くものを決めよう

世の中, テクノロジで解決できる問題ばかりではない. 例えば, あなたが描きたいものは何か? こればっかりはプログラムだけじゃあどうしょうもないことだ. 自分が描きたい ものは, 自分で決めないといけない. プログラムの機能を正確に理解するだけでは, 画を描くには不十分なのである. 描きたいものを追求し, はっきりさせることこそが, 画を描く上でもっとも重要な作業だ. しかし, 機能その他の技術的な問題に比べると, これをマニュアル化するのは難しいし, また, 作業の本質上, そんなことにあまり意味があるとも思えない. だが, 自分が何を描きたいのかを決める方法が全く無いというわけではない.

何を描きたいのか決める一つの手がかりになるのは, 自分の好きな画だ. 何でもそうだが, 全部 1から自分で作るというのはナンセンスだ. 先輩の素晴らしい作品があるのだから, それを借りたり真似したりするのは, イメージを固定する手助けになる. どんな画家でも, 何にもヒントが無いところから, いきなり思い付くわけじゃあない(だからこそ, 美術の歴史が成立する). 自分の見たものや願望を画にするという営みの歴史は長いので, そこで得られたノウハウを無視するのはもったいない. だから, 自分の好きな画をきっかけにして, どういう画にするかを考えよう.

もう一つの手がかりは, 画を描くというのは一つの身体的な技術だということだ. サッカーを見てるだけじゃあサッカーができるようにならないのと同じで, 画を描かないと, 描けるようにはならない. 漠然としたイメージを具体的な構図にするには, 自分の気に入った作品をよく見たりしてテクニックを学び, また, 何度も自分で実際に描いてみることだ. 幸いなことに GIMP なら, 何度やり直しても画材が無駄になることはない.

ラフスケッチの段階から全部 GIMP でやらないといけないということもない. 手で紙に描いて始めてもいいし, それをスキャナで取り込んで下書きとしても良い. 写真を元にしてもいいし, ネットワークでダウンロードしてきた画像でも良い. 何でもいいからとにかく思い付いたところから描き始めることだ. また, 気に入らなければ思い切って捨てて, 最初から描き始めた方がいい.

wilber 君 道具の配置

画面はアトリエだ. 各種のツールが使いやすいように配置を工夫しよう. gimp-1.1.7 あたりから, session management が使えるようになった. これを使えば, プログラム終了時のダイアログ窓と配置を, 次回起動時に復元してくれる. メインウィンドゥの他に

等が, 起動したら直ちにいつも, 好みの位置に出て来るようにできるのだ.

画を描く時は, よく使う道具を "手元" に置くものだ. GIMP では, これは キーボードショートカットを作るということに相当するだろ う. GIMP でキーボード ショートカットを作るのは, 非常に簡単だ.

  1. 割り当てたい機能のメニューを出し, ポインタをそのメニュー項目に移動.
  2. すると, 割り当てたい機能に当るメニュー項目は 白く光って他の項目よりも少し手前に飛び出した表現になる. (ここでクリックすれば, その機能が実行されるという状態)
  3. この状態で, その機能に割り当てたいと思うキーをタイプ.
  4. メニュー項目の右に, 割り当てたキーが書かれ, 割り当て終了. ショートカットは, 直ちに使用可能. 自動的にセーブされて, 次回起動時にも使用可能.

利き手でポインティングデバイスを握り, もう片方の手をキーボードに載せておくといいと思う. GIMP は バージョン 0.99.x の時から undo レベルをユーザが任意に設定できたが, デフォルトはたった 5回に設定してある. undo は 20回くらいできるように設定しておこう.

wilber 君 実戦

GIMP を起動するまえに, まず xmms でも起動し, お気に入りの音楽を大音量で かけ, 気合を入れよう.

taifu-pict www.linux.or.jp の表紙に載っていた 台風襲来の画 の場合を例にして, GIMP による作業の実際を紹介しよう.

まず, 何を描くかを決めないといけない. 季節柄, 台風の画にすることにし, Linux の宣伝として, ペンギンは台風も平気だけど他の人々はぶっ飛ばされてるところを描くことにする. フリーで頑健なシステムはなにも Linux ばかりではないので, ペンギンの連れとして, daemon 君(FreeBSD のマスコット) も登場させることにしよう. これで, だいたいの構図は決まるはず. 近景でペンギンと daemon 君が平気な顔で歩いており, 背景は暴風雨で Bill あたりが吹き飛ばされているというわけだ.

layer dialog shot GIMP で画を描くときは, 違う物を違うレイヤに描くことだ. この原則は, ほとんど絶対といってもいい. いきなり "Background" レイヤに描 き込むのは全然ダメで, もっとも簡単な画でも Background と, その上に乗っ かっているもう一つのレイヤを作った方が良い. そして, メモリの許す限り, レイヤを作りまくろう.

penguin とりあえず, ペンギンから作り始めよう. ペンギンは描き慣れているので, 新しく透明レイヤを作り, そこにいきなり描き込む. 胴体は, ベジェ曲線のパスと, 塗りつぶしツールで作る. 顔の表情は何度も描き直す可能性が強いので, これだけを別のレイヤにした. ペンギンの描き方は, logo.gif の作者 Larry Ewing さんのサイト に詳しい.

daemon-kun daemon 君 はペンギンよりも描くのが難しい(笑)ので, FreeBSD のサイトにお邪 魔して, 画像をダウンロード. それを下敷にし, その上に透明レイヤを載せて, ブラシツールなどで手作業でなぞって自分のタッチの daemon 君を製作した. daemon 君の靴は, 普段はスニーカーだが, 場面が台風なのでゴム長靴にした.

bill 他の OS の商標をそのまま使うとまずいので, 「ま」で始まって「と」 で終る会社のアレに関しては, ゲーム "XBill" の敵キャラを使うことにしよう. こっちは本家よりもやや知名度が低いけれど, 知っている人は知っている有名なゲームなので, ニヤリとする人もけっこう居るはずだ. 実は, 最初はリンゴも描いてあったのだが, サーバ用の OS のソースコードを一部公開するらしいので, こっちは情状を酌量(爆笑)し, 暴風雨で吹き飛ばすのは止めにした.

ゲーム "XBill" を起動してスクリーンショットをとり, Bill を選択してコピー. 作品に張り付け, レイヤ窓で「新規レイヤ」を選択して Bill のレイヤを作成する. 繰り返すが, 違う物体は違うレイヤに置くことだ. 変形ツールの「回転」で, Bill をレイヤごと廻し, ぶっ飛んでる感じを出す. Bill は何匹か居た方が, それっぽいはずだから, もう 1匹作ろう.

storm 最後に, 背景の暴風雨だ. これを手で描いたのでは何のためにコンピュータを使って るのか判らない. GIMP は強力なプログラムなので, 何か方法があるはずだ. 私は, 暴風雨のレイヤを次のようにして作った.

  1. イメージサイズよりもひとまわり大きい透明レイヤを作る.
  2. /filter/noise/noisify を使い, そのレイヤにランダムなザラザラを描く. これが雨粒.
  3. /filter/blur/motion blur を使い, 斜め 145度, 長さ 50ドットくらいで 動くものをカメラで撮影した時のブレみたいな感じを出す.

ぼかしツールは画面のはしっこが変になるので, ひとまわり大きなレイヤを作って, おかしくなったところを切り取って中の方だけ使おう. 背景を最後に作ればいいところも, GIMP で画を描いてて便利なところだと思う.

flying bill Bill を, 暴風雨レイヤの向こうに配置すれば, いかにも台風でぶっ飛んでるよ うに見えるぞ. わりと良い感じかも. こういうテクスチャ的なものは大概 GIMP で作れるので, ヒマな時にいろいろ試してみるのも良いし, 巷の photoshop 解説本なんかも けっこう参考になるようだ.

完成品として人に見せる, つまりウェブなどで公開するときには, レイヤをなくして一枚の画にし, jpeg, png などのフォーマットで保存する. ただし, そのまえに一旦 xcf フォーマットで保存しておこう. これは, レイヤ, 選択範囲, パスなどをそのまま保存できる GIMP のオリジナル フォーマットだ. 「これで完成した」とおもっても, 次の日になると気に入らないところがでてくるものだから, 私はレイヤを全部残して保存しておくことにしている. なお, png が表示できないブラウザも一部に存在する.

最後に, GIMP を使う上で私が気を付けている事をまとめてみたい.

wilber君命の設定 tile-cache-size

少しは技術的なことも紹介しよう. 非常に重要な設定項目である, tile-cache-size についてである.

この値は, GIMP が画像データの処理に使うメモリのサイズを決めている. どんなに沢山のメモリを搭載しても, この値を増やさない限り, GIMP は データをメモリに読み込まないのだ. 従って, 大きな画像データを読み込んだ時の処理効率が, この設定次第でかなり変わってしまうのだ. たとえば, 画像を読み込んだ時に データサイズが tile-cache-size よりも大きくなると, どんなにメモリが残っていても GIMP は自分で勝手に swap を開始してしまう.

<ToolBox>/File/Preference.. で出て来るダイアログの Environment 以下に, この設定があるので, いま初めて話を聞く, という人は是非設定ダイアログを出して, 見てもらいたい.

環境によって最適な tile-cache-size の値はずいぶん異なるのだが, GIMP に優先的にメモリを割り当てようと 思うなら, この値を GIMP 起動前に余っているメモリの値くらいに設定すると いいだろう. また, GIMP にくれてやるつもりでメモリを増設した場合も, 増設した分 tile-cache-size の設定も増やさないと, GIMP にとっては メモリ増設の意味が全く無い.

ただし, この値が大きすぎた場合, 小さすぎるときよりもずっと具合が悪いので, その辺も気を付けよう. バージョン 1.1.19 以降では, この初期設定値は 32MBytes となっている. 少し昔のものや, 1.0.x の初期設定値は 僅か 10MBytes だった. いずれにせよ, 大抵の環境では設定の変更は必須のはずだ. この設定を詰めずに「GIMP は遅い」と文句を言った場合, 神の指先から怒りの静電気が放たれ, 起動ドライブの inode table が腐る天罰が下ろう(笑).

なお, この設定は, 次回 GIMP 起動時から有効になる.

wilber 君 終りに

GIMP のパワーをもっと引き出すには, このコラムでは全く不足なので, 更なる情報源を幾つか紹介したいと思う.

まず, 本家 www.gimp.org には, GIMP に関連するニュース, プログラム(プラグインやパッチ), データ(ブラシ, フォント, パターン), ドキュメント, ギャラリー, コンテス トなどの情報が満載だ. GIMP ユーザマニュアル は, gimp-1.0.x のさまざまな機能を余すところ無く解説 した GIMP ユーザの聖典だ. 圧縮されてさえ 10MB もある化け物だが, GIMP を使っていて「こんな機能は無いかな」と捜すときにに無くてはならない ドキュメントである. レイヤやチャンネル, 基本的なプラグインなどはバージョン 1.0 からそんなに変わっていないので, 1.1.x でデビューする人にも参考になるはずだ. また, もちろん www.linux.or.jp でも 「Linux 関連リンク/マルチメディア」 に幾つか GIMP 関連のサイトへのリンクが掲載されている.

しかし, なによりも GIMP はドキュメントを読み漁るよりもまず使ってみるべきプログラムだと思う. GIMP のようなプログラムを作った人々に感謝する方法があるとすれば, それは, これを実際に使い倒して楽しい作品を作る事だろう (開発に貢献できれば, 言うことないんだけどね). GIMP が活躍する場面は, ウェブで使う画像だけではない. たとえばシルクスクリーンの版下の作成などにも GIMP はとても役に立つので, シルクスクリーンの技術を持っている人は, そういった用途にもぜひ GIMP を活用して欲しい. そして, このコラムを読んだ人が, GIMP を実際に使って画を描くようになってくれたならば, 私はとても嬉しくおもう.

藤田裕二 < yuji@wl.me.titech.ac.jp >

[ ホーム | マップ | ニュース | 検索 | ドキュメント | リンク | プロジェクト ]
このサイトに関するご意見・ご要望は Webmasters までお願い致します.