【Gimp】python-fuを使って画像を複数枚同時に作成する方法

gimpのpython-fuで画像を複数枚同時に作成する。

gimpはフリーで使える優れた画像編集ソフトです。gimpには標準でpython-fuというコンソールがついており、pythonコードを入力することで画像生成などを半自動化できます。今回はそのpython-fuを使って画像を複数枚同時生成したいと思います。

python-fu
コードを実行するにはコンソールにコードをコピペしてエンターキーを押せばOKです。

python-fuで画像を複数枚生成するためのpythonコード

image = gimp.Image(512, 512, RGB)
gimp.Display(image)
layer = gimp.Layer(image, "レイヤー1", 512, 512, RGBA_IMAGE, 100, NORMAL_MODE)
image.add_layer(layer, 0)

image2 = gimp.Image(1024, 500, RGB)
gimp.Display(image2)
layer2 = gimp.Layer(image2, "レイヤー1", 1024, 500, RGBA_IMAGE, 100, NORMAL_MODE)
image2.add_layer(layer2, 0)

image3 = gimp.Image(180, 120, RGB)
gimp.Display(image3)
layer3 = gimp.Layer(image3, "レイヤー1", 180, 120, RGBA_IMAGE, 100, NORMAL_MODE)
image3.add_layer(layer3, 0)

コードの解説

  • gimp.Image()は画像を作成するメソッドこれを変数に格納
  • gimp.Display()は実際にgimpで作成された画像を表示させる。パラメーターは先ほどつくったimage
  • レイヤーがないのでgimp.Layer()メソッドでレイヤーを作成
  • add_layer()メソッドで作成されたレイヤーを追加

gimp.Displayがfor文で処理できないので、3枚分の画像を作成するコードをそのまま書いています。このコードをgimpのpython-fuコンソールに貼り付けてENTERキーをおすと実行されます。
スクリーンショット
ちゃんと作成されています。

まとめ

異なるサイズの画像をいっきに作りたいときは、サイズ指定がめんどうになりがちです。そういうときはpython-fuを使って少しでも作業の負担をやわらげたいところです。