PHP スクリプト内で、多数の .XCF イメージを .PNG イメージに変換したいと考えています。(レイヤーを平坦化し、透明度を維持し、レイヤーの可視性設定を尊重します)。
コマンド ライン モードで GIMP を呼び出し、script-fu 言語を使用してこれを行うことができるようです。同様の問題に対するさまざまな答えを見つけましたが、解決策には多くのことが起こっているため、それらを適切に実行してPHPに適応させる方法を理解することができます.
これは私が使用しようとした例です-ディレクトリ内のすべての.XCFファイルを見つけてPNGに変換することになっています。
$execStg = ' "C:\Program Files\GIMP 2\bin\gimp-2.8.exe" -n -i -b - <<eof (let*="" (="" (file\'s="" (cadr="" (file-glob="" "*.xcf"="" 1)))="" (filename="" "")="" (image="" 0)="" (layer="" )="" (while="" (pair?="" file\'s)="" (set!="" image="" (car="" (gimp-file-load="" run-noninteractive="" file\'s))))="" layer="" (gimp-image-merge-visible-layers="" clip-to-image)))="" filename="" (string-append="" (substring="" 0="" (-="" (string-length="" file\'s))="" 4))="" ".png"))="" (gimp-file-save="" filename)="" (gimp-image-delete="" image)="" file\'s="" (cdr="" (gimp-quit="" eof<="" pre=""> ';
exec($execStg, $results);
これを機能させることができませんでした (DOS ボックスでコマンドを実行してみました)。
私が本当にやりたいことは、このスクリプトを適応させて、png に変換するファイル名の数を指定できるようにすることです。誰かが上記のスクリプトを適応させる手を貸してくれますか (または同等のものを提供してください)。
(スクリプト全体が、GIMP のプラグイン フォルダーなどの別の場所にあるよりも、PHP ファイルに含まれている方が望ましいです。)