ぺんちゃん日記

食と歴史と IT と。 Web の旅人ぺんじろうが好奇心赴くままに彷徨います 。

複数の画像を GIMP で一気に開く。

JPEG ファイルがたくさんある。

ステップ記録ツールで撮影したスクリーンショットを取り出す自動処理を作成できました。
後はこの JPEG ファイルを GIMP で開いてトリミングなど適切な処理を施してブログなどに利用することになります。
画像ファイルは複数、それも5個以上が想定されます。
これらのファイルを一つ一つ開いていたら手間なので、 Ruby スクリプトに起動してもらいます。

コマンドから GIMP で画像を開く。

コマンドプロンプトから GIMP で画像を開くには、ファイル名を与えます。

"C:\Program Files\GIMP 2\bin\gimp-2.10.exe" ファイル名1 ファイル名2 ファイル名3 …

ファイル名は複数指定できます。

画像はc:/temp/psrディレクトリに用意してあります。
Ruby でそのディレクトリの拡張子 jpeg を持つファイル名すべて取得するには glob methodを使うんでしたね。
そこで得られた画像ファイル名をスペースでつないで GIMP の実行ファイルに渡せば良いことになります。

jpegfiles = Dir.glob(File.join(jpegdir, '*.jpeg')).join(' ')

なおコマンドラインで一行で与えられる文字数は Windows Vista 以降の OS で8192文字までになっています。
あまりにも画像が多い、ファイル名が長いなどの理由でコマンドが長くなった場合は正常に動作しません。
https://support.microsoft.com/ja-jp/help/830473/command-prompt-cmd-exe-command-line-string-limitationsupport.microsoft.com

実装。

完成したソースコードは次のようになります。
画像ファイルが収められるディレクトリ暗いパラメータで渡せばいいのに相変わらず雑ですね。