トップ > Script-Fuスクリプトの制作 >
スクリプト制作の概要

  

操作を自動化することで手間を減らそう

この章ではスクリプトについて解説しますが、スクリプトとは一体何なのでしょうか。 "script" を辞書で紐解くと "脚本や台本のこと" と書かれています。

GIMPのスクリプトもまさにその通りの意味で、文書でGIMPに指示を与える指示書のようなものです。 スクリプトで指示を与えることで、マウスやキーボードを使うことなくGIMPを操作することができるようになります。 つまり、簡単に言うとスクリプトとはGIMPの自動化のための仕組みです

スクリプトがどんな場面で役に立つのか

スクリプトとは『文書でGIMPに指示を与える指示書のようなもの』ということはわかりました。 ではスクリプトが役に立つのはどんな場面でしょうか。

例えば、

  1. 大量のXCFファイルがある
  2. そのXCFファイルからJPEGを生成する

という作業を依頼されたとします。 これを手作業で行おうとすると、

  1. 最初のXCFファイルを開く
  2. JPEGファイルにエクスポートする
  3. XCFファイルを閉じる
  4. 2番目のXCFファイルを開く
  5. JPEGファイルにエクスポートする
  6. XCFファイルを閉じる
  7. 3番目のXCFファイルを開く
  8. JPEGファイルにエクスポートする
  9. XCFファイルを閉じる
  10.         ...(省略)...
  11. 最後のXCFファイルを開く
  12. JPEGファイルにエクスポートする
  13. XCFファイルを閉じる

という操作をマウスやキーボードを使って実施する必要があります。 ファイル数が少なければ簡単ですが、数百や数千のファイルともなると大変な手間と時間がかかってしまいます

一方、スクリプトを利用するのであれば、

  1. 指定されたフォルダからXCFファイルを探しなさい
  2. 見つかったXCFファイルを開きなさい
  3. JPEGファイルにエクスポートしなさい
  4. XCFファイルを閉じなさい
  5. XCFファイルが見つからなくなるまで上記を繰り返しなさい

というスクリプトを制作しておけば、GIMPがその指示書に従って自動的に作業を行ってくれるのです。 その結果、作業の手間と時間を大幅に削減することができます

また、そのスクリプトを保存しておくことで、いつでも再利用することができるという利点もあります。 将来的に同じ作業を依頼された場合に、スクリプトを再利用して短時間で作業を終えることができます。

Script-FuとPython-Fuがある

ここまでの解説で『スクリプト』と呼んできたモノには、実は2つの種類があります。 Script-Fu(スクリプトフー)とPython-Fu(パイソンフー)です。

簡単に言えば、Script-FuとPython-Fuは、スクリプトを受け付けて、理解して、GIMPに指示を出してくれる機能のことです。

  
Script-FuはGIMP 1.X系からある機能で、Python-FuはGIMP 2.X系から搭載されました。
  
以前はGIMP-Perlというものもありましたが、今は標準の配布物には含まれていません。

なぜScript-FuとPython-Fuの2つがあるのか

どうして、Script-FuとPython-Fuの2つがあるのでしょうか。 理由は、それぞれが理解する言葉が異なるからです。 例えば、"こんにちは!!" というメッセージを表示させる指示を出す場合には、 Script-Fuでは、

(gimp-message "こんにちは!!")

という言葉で書かれた指示を出す必要があります。 一方、Python-Fuでは、

gimp.message("こんにちは!!");

という言葉で書かれた指示しか理解できません。

一般的に、コンピュータに指示を与えるための言葉を『プログラミング言語』といいます。 ただし、困ったことに世の中のプログラミング言語は1つではありません。 人間が話す言葉にたくさんの種類があるように、プログラミング言語にもいくつもの種類があります。 プログラミング言語には、それぞれ向き不向きがあるからです

PC用の一般的なソフトウェア開発に向いているプログラミング言語、TVや自動車やエアコンなどに組み込むソフトウェア向けのプログラミング言語、Android用のアプリ開発に向いているプログラミング言語、科学技術計算に向いているプログラミング言語、人工知能開発に向いているプログラミング言語などです。

Script-Fuが理解する、

(gimp-message "こんにちは!!")

という指示は、Scheme(スキーム)という名前のプログラミング言語です。 Schemeは1975年に登場したプログラミング言語で、さらに古いLISPというプログラミング言語(1958年登場)の方言の1つです。

Schemeは、人工知能の開発に向いていることで近年再び注目を集めている素晴らしい言語です。 また、教育用のプログラミング言語としても優秀だと言われています。 ただし、ソフトウェア開発の現場でお目にかかることはまずありません

対して、Python-Fuが理解する、

gimp.message("こんにちは!!");

という指示は、Python(パイソン)という名前のプログラミング言語です。 Pythonは1991年に登場したプログラミング言語で、今でも現役でバリバリに使われています。 おそらく、プログラミング言語別の求人数のランキングでもトップ5には入るのではないかと思います。

そのような背景もあり、Script-FuとPython-Fuの2つが用意されています。 Schemeの利用者が極端に少ないため、より広く利用されているPythonで記述できるPython-Fuが必要になったということです。

つまり、プログラミング言語Schemeの知識がある人はScript-Fuを、Pythonの知識がある人はPython-Fuを使ってね、ということです。

  

この章で学ぶ内容と目指していること

本ウェブサイトではScript-Fuのみを解説しており、Python-Fuについては解説していません。 理由は、Python-Fuを利用するために必要となるPythonがGIMPの配布物に含まれていないからです。

Script-FuはGIMPをインストールすれば必ず使えますが、Python-Fuは場合によっては使えないことがあります。

  
Windows版のGIMPの場合は、インストーラにPythonが含まれているためPython-Fuは使えます。
  
Linuxの場合も、ソフトウェア管理ツールを使ってGIMPをインストールすれば連動して別途Pythonも自動的にインストールされます。 ただし、自分でGIMPを入手した場合はその限りではありません。

目指していること

この章を読み終えても、Script-Fuの達人やSchemeの達人にはなれません。 この章が目指しているのは、

  1. Schemeの基礎を理解する
  2. Script-Fuの基礎を理解する
  3. Schemeのわからないところを自力で調べることができる
  4. Script-Fuのわからないところを自力で調べることができる

という力を身につけるところまでです。

  

まとめ

スクリプトは、文書でGIMPに指示を与える指示書のようなものです。 スクリプトで指示を与えることで、マウスやキーボードを使うことなくGIMPを操作することができるようになります。 つまり、スクリプトとはGIMPの自動化のための仕組みです。

スクリプトを利用することで、頻繁に行う作業や大量の繰り返し作業を楽に実施することができます。 結果、作業の手間と時間を大幅に削減することができます。

GIMPのスクリプトの機能には2種類があり、プログラミング言語Schemeで記述するScript-Fuと、プログラミング言語Pythonで記述するPython-Fuがあります。

スクリプトの種類 プログラミング言語
Script-Fu Scheme
Python-Fu Python

本ウェブサイトでは、これ以降は Script-Fu について解説します。

メニュー