我想在 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 的文件名。任何人都可以帮我调整上述脚本(或提供等效的东西)。
(如果整个脚本包含在我的 PHP 文件中,而不是在其他位置(例如 GIMP 的插件文件夹中)包含其他位,我更愿意。)