GIMP(ギンプ)でガイドを自動生成するプラグイン
業務効率化公開日:2023年9月23日 更新日:2023年10月22日
GIMP(ギンプ)は、オープンソースの画像編集ソフトウェアです。
多機能な画像編集ツールで、レイヤー、フィルター、マスク、選択、ペイントツール、テキスト編集など、豊富な機能を備えています。
また、GIMP(ギンプ)は、多数のファイル形式をサポートしており、Photoshopと同様の機能を提供するフリーの代替品として広く使用されています。
私も簡単な画像加工はPhotoshopではなく、GIMPを使うことが多く、非常に重宝しているソフトウェアの1つです。
GIMP(ギンプ)で画像を中央に揃えたい場合、「ガイド」という機能を使うことが多いのですが、そのガイドを画像ごとに毎回設定するのは面倒です。
「位置合わせ」という機能もあるのですが、個人的には「ガイド」の方が使いやすい上に、GIMP(ギンプ)を使用する場合は多くのレイヤーを重ねないので、殆どのケースで「ガイド」を使用しています。
今回はその「ガイド」を、水平・垂直方向で0%・25%・50%・75%・100%毎に生成するプラグインについて紹介します。
ガイドの自動生成プラグインの導入方法
プラグインの作り方は後述しますが、Pythonに明るくない方は、以下のリンクからプラグインをダウンロードすることができます。
まず上記のダウンロードリンクから、zipファイルをダウンロードし、ファイルを解凍します。
解凍したフォルダ内に、「guide-generator.py」というファイルがあることを確認してください。
次にGIMP(ギンプ)を起動し、プラグインを格納するフォルダを見つけます。
[編集] > [設定]メニューを開きます。
次に左側メニューの[フォルダ] > [プラグイン]を開きます。
すると、複数のフォルダが表示されるので、いずれかのフォルダパスにアクセスします。
このフォルダパス内に、先ほどダウンロードした「guide-generator.py」を格納すれば完了です。
格納後、GIMP(ギンプ)を再起動してください。
再起動すると、上部のメニューバーに「Plug-ins」というメニューが追加され、その配下に「GuideGenerator」というメニューがあります。
あとはこちらをクリックするだけです。
クリック後、以下の通り0%・25%・50%・75%・100%ごとに、水平・垂直方向でガイドが生成されました。
次に「違う割合でガイドを生成したい」という方向けに、このプラグインの詳細について説明します。
プラグインのコード
まずプラグイン内のコードについて紹介します。
def plugin_main(image):
imageWidth = pdb.gimp_image_width(image)
imageHeight = pdb.gimp_image_height(image)
pdb.gimp_image_add_vguide(image, 0)
pdb.gimp_image_add_hguide(image, 0)
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.25))
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.25))
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.5))
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.5))
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.75))
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.75))
pdb.gimp_image_add_vguide(image, imageWidth)
pdb.gimp_image_add_hguide(image, imageHeight)
プログラミング言語に明るくない方でも、以下のことを理解すれば、自由に生成するガイドの幅を調整することができます。
まず編集する際はテキストエディタで、先ほどの「guide-generator.py」を開きます。
無料で使いやすいテキストエディタはSublime Textや、さくらエディタですが、Windowsの方であればメモ帳でも構いません。
次に、2行目・3行目に記載されているこちらのコードに注目します。
imageWidth = pdb.gimp_image_width(image)
imageHeight = pdb.gimp_image_height(image)
これらは現在開いている画像のキャンバスサイズを取得しています。
例えば1920✕1080のキャンバスサイズであれば、imageWidthは1920、imageHeightは1080となります。
最後に、5行目以降に連続して記載されているこちらのコードに注目します。
pdb.gimp_image_add_vguide(image, 0)
pdb.gimp_image_add_hguide(image, 0)
これらはガイドを生成する命令です。
pdb.gimp_image_add_vguideは垂直方向のガイドを生成し、pdb.gimp_image_add_hguideは水平方向にガイドを生成します。
また、(対象の画像, ガイドを入れるpx)という形で命令を出す必要があり、もし割合を変更したい場合はこの「ガイドを入れるpx」のみ編集します。
現在の設定は、imageWidth(画像の横幅)に対して0.25(25%)、imageHeight(画像の縦幅)に対して0.25(25%)などの指定となっているので、もし25%ではなく30%にしたい場合は、0.3に変更します。
「*」はExcelと同じように、「✕」の演算子です。
更にガイドを追加したいという場合は、このコードの途中でも、最後でもpdb.gimp_image_add_vguideやpdb.gimp_image_add_hguideの命令を追加すればよいです。
例えば60%の割合でもガイドを追加したい場合は以下のコードになります。
def plugin_main(image):
imageWidth = pdb.gimp_image_width(image)
imageHeight = pdb.gimp_image_height(image)
pdb.gimp_image_add_vguide(image, 0)
pdb.gimp_image_add_hguide(image, 0)
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.25))
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.25))
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.5))
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.5))
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.75))
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.75))
pdb.gimp_image_add_vguide(image, imageWidth)
pdb.gimp_image_add_hguide(image, imageHeight)
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.6)) #60%を追加
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.6)) #60%を追加
コードを改変する際の注意点としてはスペース・タブを揃える(インデントを維持する)ことです。
これはGIMP(ギンプ)のルールではなく、Pythonのルールです。
以下のようなインデントにすると、プラグインが動かなくなってしまうので注意しましょう。
def plugin_main(image):
imageWidth = pdb.gimp_image_width(image)
imageHeight = pdb.gimp_image_height(image)
pdb.gimp_image_add_vguide(image, 0)
pdb.gimp_image_add_hguide(image, 0)
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.25))
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.25))
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.5))
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.5))
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.75))
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.75))
pdb.gimp_image_add_vguide(image, imageWidth)
pdb.gimp_image_add_hguide(image, imageHeight)
pdb.gimp_image_add_vguide(image, int(imageWidth * 0.6)) #60%を追加
pdb.gimp_image_add_hguide(image, int(imageHeight * 0.6)) #60%を追加
またこの「guide-generator.py」の最後に記載されている以下のコードは、GIMP(ギンプ)上での表示方法や、このプラグインの著作情報です。
register(
"guide_generator",
"自動でガイドを生成します",
"help",
"Qoox Inc.",
"Qoox Inc.",
#続く
GIMP(ギンプ)のPyScriptに明るくない方は、いじらない方が良いです。
まとめ
今回はGIMP(ギンプ)の自動生成プラグインの導入方法について紹介しました。
GIMP(ギンプ)を普段よく使う方は、PyScriptやScript-Fuを活用することで、更に業務効率を改善することができます。
冒頭にも述べましたが、私は簡単な画像加工(トリミングや文字入れ程度)ならPhotoshopよりもGIMPを使うケースが多かったので、このプラグインを作ったおかげでポチポチ作業から開放されました。
ぜひ、今回紹介したスクリプトを活用して、業務効率化に役立ててください。