the GIMP 2.6 + gimp-painter-

これはやまかわが、しげっち氏のMixBrushツールとG-Penツールをthe GIMP 2.6.xに移植したうえで、MixBrushツールに独自の改造を行ったものです。

gimp-for-paintersプロジェクト

イラストを描くという用途においては機能的に不十分とされることもあるthe GIMPを拡張して、よりハッピーになろうというような趣旨のプロジェクトです。プロジェクト管理者はしげっち氏です。当方はプロジェクトメンバーですが、単に場所を間借りしているだけのような気がしないでもありません;-)

プロジェクトホームページ

http://sourceforge.jp/projects/gimp-painter/

しげっち氏のWikiサイト(各ツールの説明など)

http://www24.atwiki.jp/sigetch_2007/pages/20.html

やまかわのWikiサイト(Windowsバイナリの導入手順・MixBrushの説明など)

http://cue.yellowmagic.info/main/index.php?gimp-painter-

http://cue.yellowmagic.info/main/index.php?gimp-painter-%2F%C5%C1%B8%C0%C8%C4(連絡用ページ)

プロジェクトのページで配布しているパッケージのうち、しげっち氏が手がけたオリジナルのパッケージがgimp-painterです。gimp-painter-(お尻にマイナスが付く方)はやまかわが自分で使う用に独自の改造を加えたもので、皆さんがこれから使おうとしているのはこちらということになります。

パッチについて

GIMPのソースを展開したら、あとはパッチを適用して普通にビルドするだけです。すでに以前のパッチが適用済みの場合は、ひとつ前の版からのパッチもありますのでそちらを使ってください(版によってはないかもしれませんが)。

2009年3月17日時点での最新版は20090317です。これはGIMP 2.6.6でビルドできることを確認しています。

Note:旧版のパッチについては、20081004版~20090317版が2.6.0~2.6.6に、20080601版~20080901版が2.4.6~2.4.7に適用できると見込まれます。20080518版以前のパッチは2.4.0~2.4.5に適用できるでしょう。

x86系CPU用にビルドされる方は、コンパイルオプションとして浮動小数点数演算にSSE2の使用を強制するスイッチを追加することを推奨します。例えば、gccでは"-msse2 -mfpmath=sse"といった内容になります。SSEのみを強制するとかえってパフォーマンスの低下を招く恐れがあるので注意してください。

サポート

gimp-painter-は無保証のソフトウェアであり、公式にサポートが提供されるものではありませんが、不具合に関する情報や要望などを共有する場として、Wikiサイト内にBugTrack伝言板のページを設けています。ここに寄せられた情報を参考に、対応可能な案件については修正・改良されることがあります。

2chのGIMP関連スレやその他掲示板などに投稿される場合は、他ユーザーの混乱を避けるため、無印GIMPとgimp-painter、gimp-painter-の区別をはっきりするよう配慮願います。

Note:不具合の改善を依頼・要求する目的での2chへの投稿は自粛してください。BugTrack、伝言板、メールによる報告のみ正式な依頼であるとみなします。

Windowsバイナリについて

現在配布されているgimp-painter-のWindows用バイナリは、以下のような複数のパッケージ(圧縮ファイル)に分かれています。

gimp-painter--[version]_[date]-n_win32_[type].zip(または、.exe

[version]の部分にはGIMPのバージョン番号が入ります(例:2.6.6)。[date]にはパッチのバージョン(日付)が入ります。また、[type]には次の区別があります。

starter

gimp-painter-の実行に必要なものがひと通り収録された、スターターキットです。自己解凍ファイルになっていますので、インストールしたい場所を指定し解凍してください(gimp-painter-という名前のフォルダが作成されます)。gimp-painter-を起動するには、gimp-painter-フォルダ内のrun_gimp.wsfを実行(アイコンをダブルクリックするなど)します。

Note:run_gimp.wsfは、必ずgimp-painter-フォルダの中に置いて実行してください。自分自身が置かれている場所を基準にして起動環境の設定を行うため、他の場所に移動させるとgimp-painter-を起動できなくなります。

Pythonサポートを有効にするには、gimp-painter-\gimp\lib\gimp\2.0\pythonフォルダ内の_gimpenums.pyd_gimpui.pydgimp.pydgimpcolor.pydgimpthumbs.pyd(その他、拡張子.pydのファイルがあれば全て)をPythonのインストール先にあるLib\site-packagesフォルダにコピーし、gimp-painter-\gimp\lib\gimp\2.0\interpretersフォルダ内のpygimp.interpをテキストエディタなどで開き、"python="と"/usr/bin/python="の右側をご自分の環境に合わせて修正してください。

また、GTK+アプリケーション全般のテーマ設定がMS-Windows(またはwimp engineを使用するその他のテーマ)になっているとボタンやコンボボックスなどの描画がおかしくなりますので、GIMPのテーマをMS-Windowsに変更するか、またはGTK+アプリケーション全般のテーマを他のものに変更してください。

bin_pentium3

GIMPの実行ファイル本体(gimp-2.6.exe)で、PentiumIII以降のCPU向けに最適化されています。スターターキットと同じく自己解凍ファイルになっていますので、スターターキットの解凍時に指定したフォルダへ解凍してください。

GIMP本体はアップデートされていないが、gimp-painter-のパッチがアップデートされた場合に提供されます。

bin_pentium4

GIMPの実行ファイル本体で、Pentium4以降のCPU向けに最適化されています。スターターキットと同じく自己解凍ファイルになっていますので、スターターキットの解凍時に指定したフォルダへ解凍してください。

SSE2対応CPU搭載PCではMixbrushの描画速度が改善されます。動作が不安定な場合、また起動ができない場合は使用を取りやめ、スターターキットまたはbin_pentium3を解凍・上書きしてください。

[version]の数字がstarterのものと異なるbin_~を使用してアップデートすることはできません(起動できなくなるか、誤動作の原因となります)。

GIMP本体がアップデートした場合は、gimp-painter-フォルダ内のgimpフォルダを削除してから、新しいスターターキットを同じ場所に解凍してください。

テーマ

Note:20081110版からは、従来環境設定にあった外観を変更するテーマ設定が削除され、代わりにスクロールバーやダイアログのフォントを調整するテーマに置き換えられました。従来、環境設定でテーマを変更していた場合にはリセットされますので、再度設定し直してください。

スターターキットにはいくつかのテーマ設定が同梱されており、インターフェイスの外観を変更することができます。gimp-painter-フォルダ内のchtheme.batから、テーマとフォントを変更するためのユーティリティーを起動させることができます。

追加プラグイン

スターターキットには、以下のサードパーティープラグインがあらかじめ同梱されています。

Separate+ 0.5.3
ICCプロファイルを使用し、RGB画像をCMYKに分解しTIFF形式で保存できるようにします。また、CMYK TIFF画像の読み込みプラグインとICCプロファイルの割り当て、変換プラグイン(標準のものと比べて多少改良されています)も含まれます。
Gimp UserFilter 0.9.7
Photoshopのフィルタファクトリに相当する機能を提供します。とりあえずビルドが通った、という状況のため、きちんと動作するかは十分確認が取れていません。
Save for Web 0.28.6
Web用途向け画像形式への保存をサポートします。圧縮率や減色方法、トリミングなどの設定をプレビューやファイルサイズを確認しながら行うことができます。保存形式の選択肢にJPEG2000がありますが、今のところサポートされていません。
Wavelet denoise 0.3b
デジタルカメラでの撮影時に見られるようなノイズを軽減します。
Wavelet sharpen 0.1-beta
画像に対してシャープネスを適用します。
Fix-CA
写真に見られる色収差を軽減します。
焦点ぼかし 3.2.4
カメラのレンズのような光学的表現を模倣します。Photoshopのぼかし(レンズ)フィルタに似ていますが、より高度な処理ができるようです。
滲みペン 0.4
モワモワした絵を簡単に描ける描画ツールです。
乾燥ブラシ 0.1
主に乾燥した画材の素材感を出す事を試みる描画ツール系のプラグインです。
gimp-ace2
コントラスト調整を適用します。
Colorize
モノトーンの画像への着彩作業を支援します。動作が不安定なので、プラグインがクラッシュしても「仕方がないなあ」と大目にみてやってください。画像のサイズが小さすぎるとほぼ確実にクラッシュします。

追加素材

スターターキットのgimp-painter\gimp\contribフォルダには、作者の再配布許可を得た以下の素材が収録されています。Windows以外のプラットフォームでお使いの方はWikiサイトにてダウンロードしてください。

それぞれの詳しい説明や使用条件などはcontribフォルダにreadmeファイルがありますので、それらを参照してください。

各ツール共通の追加設定項目

Reduce update frequency

通常は描点毎に行われるドキュメントウインドウ上の表示更新を抑制することで、体感速度を改善します。実際の更新頻度はブラシサイズとストロークの速度によって動的に変化します。

以下のパラメータはデバッグ用なので通常はデフォルト値で使用します。しかし、テスト環境(PentiumD 820 / RAM 2.5GB)と比較して特に遅い、または速いPCを使う場合には調整した方がよいかもしれません。

Tip:Ink/G-Penツール使用時や間隔の値が小さいブラシを使用する場合には、再描画が過剰になりがちなのでSizeを思い切って下げ、ブラシサイズにかかわらず抑制が効くように設定するとよいでしょう。その上で様子を見ながらVelosityとStrengthを適当に加減(通常は下げる)します。

Note:Use merged colorをオンにして全レイヤーの結合色を拾うには、表示更新処理が必要です。Reduce update frequencyをオンにした状態で素早いストロークで描くと、本来とは異なる結果になることがあるので注意してください。

望ましい効果が得られるかどうかはツールの種類やブラシサイズによって異なります。

Minimum scale

ブラシサイズを筆圧などでコントロールする際の、(最大筆圧時のサイズを基準にした)最小倍率です。

例えば、1.0を指定すると圧力感度の筆圧をオフにするのと同じことになりますし、0を指定すれば従来どおりの変化の仕方をします。0.5を指定した場合には、最も軽い筆圧で最大筆圧時の50%サイズになります。

Note:20081110版まではオリジナルGIMP由来のコードにより、Minimum scaleに0が指定されていてもある値以下にはならないように制限されていました。20090317以降の版ではその制限が無くなったため、従来0を設定していた方は必要に応じて適当な値(~0.05程度)を設定してください。

Power

ブラシサイズを筆圧などでコントロールする際に適用される補正値で、具体的には入力値に対する指数を表します。1.0より小さな値では軽い筆圧から急にサイズが大きくなり、ある程度筆圧が高くなってくると変化が緩やかになります。また、1.0より大きな値では軽い筆圧で緩やかにサイズが大きくなっていきますが、筆圧が高くなってくると徐々に急な変化を見せるようになります。

オリジナルのGIMPでは入力値のべき乗ではなく平方根をとっていますので、0.5を指定するとほぼ同様の書き味になります(デフォルト)。

Flow

Photoshopの「流量」に類似のパラメータで、ストローク中の個々の描点に適用される不透明度を指定します。従来と同様の表現をするには値を100%にしてください。

このパラメータは「重ね塗り」がオフの場合にのみ有効に機能します(オンの場合は、真の不透明度 = 不透明度 × Flow値 となります)。

Note:「ブラシ感度の調整」の不透明度の項目は実際にはFlowの値に影響を与えます。

MixBrushの設定項目

ニコニコ動画にも説明をアップロードしていますので、参考にしてください。

※プリセットの利用については、前述の追加素材とプリセットファイルが必要です。

Use texture

Alpha channel mixingが有効になっている時、テクスチャ効果を適用します。テクスチャのソースはパターンのグレイまたはRチャンネル(要するに最初のコンポーネント)を使用します。

Grainを正の方向に上げていくと、目がだんだんと潰れ着色される部分が増えていきます。逆に負の方向に下げていくと目が粗くなり着色される部分が減っていきます。

チョーク風の表現は-1.0~0、水彩・インク風の表現は0~1.0の範囲で値が変化するように設定するのが目安です。実際には使用するテクスチャの明度やコントラストを見ながら、適当に範囲をずらしてみてください。

Contrast

テクスチャ適用後のブラシ形状(描点マスク)に対してコントラスト調整を適用します。1.0は無調整で、値が大きくなるほどコントラストが高くなります。

Jitter

描点毎にテクスチャの位置をずらします。ずれる分量は±指定値の範囲でランダムに決まります。

Apply fringe

テクスチャの適用度をブラシのマスクで調整します。結果としては描点の縁にテクスチャが適用される形になります。パターンをうまく選べば絵具がにじんだようにも見えなくはないです;-) Contrastの値が1.0のままだとブラシマスクのグラデーションが出てぼやけた感じになりがちなので、適当に調整してみてください。

Grainは0がいちばん荒い状態で、絶対値が大きくなるほど質感が弱くなります。このとき、正の方向に増やすとテクスチャがオフの状態に近づいていき、負の方向に減らすと描点が痩せていきます。

Alpha channel mixing

アルファ付きのレイヤーで、アルファ値を含めた混色を行います。また、混色結果のアルファ値が描画対象ピクセルのアルファ値より小さい場合、実際に描画結果のアルファ値が描画前より小さくなることを許容します(図右側のようなイメージ)。

アルファ付きレイヤーと、それ以外のdrawableとの描画結果の違いを最小限に抑えるには、Paint with pigmentにチェックを入れ、Canvas colorのdensityを1.0に固定してください。

Note:Alpha channel mixingの使用には次の制限があります。

  1. 重ね塗りにチェックが入っているときのみ機能します。
  2. 描画モードは常に「標準」と見なされます。
  3. 選択範囲は無視されます。
  4. チャンネルダイアログでRGBのいずれか1つ以上を選択解除しても、必ずRGB全チャンネルに描画されます(「アルファ値」のチャンネルは選択解除しても正しく描画できます)。
Main color(density)

Main colorは筆の穂に含まれる塗料のコントロールになります。Densityは塗料の量を指定するもので、0では全く着色する能力がなくなり、1.0にすると下地の色が混ざらなくなります。

※Paint with pigmentがオフの場合には、Canvas color densityが0でない限り、Main color densityが1.0でも下地の色が混ざります。

Main color(rate)

塗料の中に前回打った描点のカラーが混じってくる割合を指定します。値が小さいほどより多く混じるようになります。

混色をしたい場合には、Main color rateを低くし、Canvas color rateを高くします。さらに不透明度を筆圧で調整するようにするとよりきれいに処理できるでしょう。

Dryout

Painterの「色の伸び」に相当するパラメータです(単位はピクセル)。ストロークの長さに比例してMain colorのDensityが下がっていき、指定値に達すると0になります。

Dryoutの値が0の場合は例外として、全く減衰しません。

Paint with pigment

Main colorとCanvas colorのブレンドには、両者の不透明度(×濃度)の比率を用いる方法と、レイヤーの重ね合わせと同じ方法の2種類があります。Paint with pigmentがオンになっている場合には、後者の方法でブレンドされます。

2007年11月4日以前の版に近い処理をさせたい場合には、Canvas colorのDensityを1.0に固定した上で、Paint with pigmentをオンにしてください。このとき、Main color densityはCanvas color rateに、Main color rateはOriginal color rateに対応します。

Note:このオプションはAlpha channel mixing導入以前に表現の幅を広げる目的で追加したものです。Alpha channel mixingとの相性はあまり良くないので、基本的には常にオンにしておいてください。

Canvas color(density)

下地のカラーが混じる分量を指定します。あえて例えるなら、水や溶剤の分量と言えるかもしれません。

Main color、Canvas color双方のDensityが0の場合には、ペイントしても何も起こりません。ただし、Alpha channel mixing有効時にアルファ付きレイヤーへペイントすると、消しゴムのような振る舞いをします。

Canvas color(rate)

下地のカラーとして、ストロークを描画する前のカラーを加味する割合を指定します。値が小さいほどより多く加味されるようになります。高い値では色の伸びが良くなり、若干低い値にすると絵の具の粘りやかすれ感が強調されます。

値がある程度低くなってくると、描点の形が見えて不自然になる傾向がありますので、1.0を基準にして値を少しずつ下げていくのがベターです。

Pressure

筆圧のパラメータは、入力(タブレットドライバから渡される値)と出力(MixBrushツールが受け取る値)それぞれの最小・最大値を指定する形式になっています。

例えば、入力が0.25~0.75、出力が0.3~0.9となっているとすると、筆圧が0から25%までは30%という出力になり、以降筆圧75%までは出力も上がっていきます。75%の筆圧で最大出力の90%に達し、それを超える筆圧では90%を維持します。

この出力値は、筆圧の適用対象となるパラメータに掛け合わされます。対象パラメータの設定値を1.0に固定しておくと、出力の上限・下限がそのまま対象パラメータの上限・下限になるのでコントロールしやすくなるでしょう。

ちなみに、筆圧によるコントロールを無効にしたい場合は、出力側を両方とも1.0にしておきます。また、出力の1が2より大きな値を取る場合、筆圧が反転されます(筆圧が軽いほど出力が上がる)。入力側については、1と2のどちらが大きい値をとっても(内部処理で入れ替えるので)動作に違いはありません。

Delay

ストロークを描画する前のカラーを得る際に、ストロークを開始する前のデータからカラーを取得してしまうと、自分自身のストロークをにじませることができません。

そのため、ストロークの開始後、実際に描点を打ち込むのを一時保留することで適切なカラーを取得できるようにしています。

Delayパラメータは、処理を保留する描点の数を指示するものです。大きな値を指定すると、スタイラスの動きに対して実際の描画が追いかけてくるようになるので多少の違和感があるかもしれません。逆に小さな値を指定すると違和感が軽減されますが、直前の描点のカラーを拾ってしまうため、Canvas color(rate)の効果が得られなくなります。

Paint the tail of stroke (delay > 0)

ストロークの終端Delay個分の描点を処理するように指示します。Delayを1以上にしている場合の描画が気になる方はチェックを外すと気分的には改善されます。

Sample size

カラーを拾う範囲(直径)の上限をピクセル数で指定します。

GIMPに元々あるAPI関数で平均を取っているのですが、結構重たいのでこのパラメータで制限をかけています。

Use merged color

描画対象レイヤーのカラーではなく、全てのレイヤーを統合した結果のカラーが混じってきます。ブラシサイズがある程度大きくなってくると重くなるので注意。

本来なら、Painterの「下の色を拾う」にならって、描画対象のレイヤーより上位のレイヤーを除いた統合カラーを使用したいところですが、知識不足と手抜きのため現在の仕様になっています。何もないよりはマシだろうということで。あと、制限事項として、レイヤーのキャンバス外にあるピクセルカラーが拾えず、白か黒が混じってくる、というのがあります。

Assume that the hidden color is

アルファ付きレイヤーにペイントするとき、Canvas colorに白または背景色が混じります。normalは単に(半)透明色として処理します。

以前の版からの修正・変更点

20090317版

20081110版

20081103版

20081024版

20081007版

20081004版

9月1日版

8月24日版

8月19日版

6月20日版

6月8日版

6月5日版

6月1日版

5月18日版

5月4日版

3月6日版

2月5日版

1月28日版

1月26日版

1月22日版

1月21日版

1月19日版

1月11日版

1月3日版

12月22日版

12月9日版

12月7日版

12月3日版

11月24日版

11月9日版

11月7日版

11月4日版

10月29日版

10月22日版

10月21日版(Windowsバイナリのみ)


やまかわ <yamma-ma at users.sourceforge.jp>