GIMPの Floyd-Steinberg-Dither のプラグイン.


久しぶりにGIMPに新しいプラグインを入れた. GIMP で 3原色分解をやってみた人なら判ると思うが, 実は GIMP の Floyd-Steinberg-Dither の実装はひどい.
たとえば, この画を元にして, デフォルトのディザを使った 3原色分解の結末は
これだ. なんせ, あんまりだか ら, 実は, いままで xv の ディザを使っていたのだ.
そして, これが新しい Floyd-Steinberg-Dither のプラグインを使った 3原色分解だ.
xv のディザよりも性能は高いようだ. ところで, このプログラムのコンパイルだが, プラグインコンパイルのためのプラグインを持っている人なら, それを使えば一 発だろう. そうでない人は, -I とか -L とかのフラグを付けてコンパイルしてくれ. ライブラリやヘッダファイルの位置は, 人によって違うので何とも言えんが, gimp users manual にプラグインのコンパイルが載ってるので, それを見ながら やれば, 特に問題無いだろう. 要するに, make がやる事を手でやればいいのだ. ヒストリが残ってないので, どんなコマンドだったか忘れたが, 俺はそうやってコンパイルした. なんせ, ソースファイル一個だけだから. ただ, このやりかたの場合, コンパイルできても, LD_LIBRARY_PATH が通って ないと動かない. 通っているかどうかは
aya:~/.gimp/plug-ins%ldd fsdither 
        libgtk.so.1 => /usr/local/lib/libgtk.so.1
        libgimp.so.1 => /home/usr/local/gimp99.18/lib/libgimp.so.1
        libgimpui.so.1 => /home/usr/local/gimp99.18/lib/libgimpui.so.1
        libc.so.5 => /lib/libc.so.5.3.12
        libgdk.so.1 => /usr/local/lib/libgdk.so.1
        libglib.so.1 => /usr/local/lib/libglib.so.1
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6.1
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6.1
        libm.so.5 => /lib/libm.so.5.0.6
こうやれば判る. "not found" が出たら, そのライブラリにパスを通そう. わしのコンパイル環境は, gimp 0.99.18 + gtk 0.99.3 + gcc 2.7.2 である. ソースは こちら. しかし, 最初にインストールしたプラグイン達は, パスを俺が設定したわけで もないし, wrapper スクリプトがあるわけでもないのに, なんでちゃんと動 くんかのう. 不思議じゃのう.