GIMP におけるパスのあれこれ


パスだけ拡大/縮小/回転 できないのはバグだー! などと思ったことはありませんか? つうわけで, script-fu で そういうものを作ってみました. この 3つのスクリプトで path を拡大/縮小, 回転, 反転 することができる. 使い方は, 展開して出て来たものを ~/.gimp-1.1/scripts/ にコピーする. GIMP が動作中なら ToolBox/Xtn/Script-Fu/Refresh を一回実行. そうすれば, 右クリックで出て来る ImageWindow/Path ops./ 以下にこいつらが出現するであろう. 使い方は自明であろう. 全て, オリジナルのパスを残すように作ってあるぞ.

さすがに平行移動だけは 最初からできるので, これで残る一次変換の全ての操作が揃ったわけです. コンピュータでは演算の精度が有限なので, 一次変換群にはなりませんが. マトモに役に立つものを script-fu で書いたのは, じつはこれが最初. あとは, GImage の拡大/縮小で path がそのままのサイズなのは, かなり具合わるくないですか? でも, このスクリプトを呼ぶナニを作れば, path ごと拡大/縮小するスクリプトを書くのは簡単だね.

これらは, 楢崎さんの path に関するスクリプトを参考にして作りました. 彼の path-blend.scm が無ければ, 決して完成しなかったでしょう. お世話になりました. あと, 俺にしては珍しく自分で考えずに, けっこう本をみたので, 参考文献を下に挙げときます. でも, あまり参考にはならないかも.

script-fu は, もっと使いやすいインタプリタがあれば, デバグが早いのになあ. それから, wta とか略すの止めて欲しい. ちゃんと wrong type argument と 書け. あと, せめてどの関数が未定義でコケたのか, くらいは教えれ. (どの変数が未定義でコケたか, くらいは判る) あと, 強いて言えば, while 文ではなく末尾再帰で書きたかったかも.

他には, path を連結成分ごとに分割する奴も欲しいかも. それから, path の向きを逆にするやつなんかもね. これは来週あたり書くかも. でも, 4/6 が LC2K の原稿の締め切りなんで, 書かないかも. 誰か書いたら教えてくれ. みたいな.


参考文献