【发布时间】:2012-11-15 21:16:46
【问题描述】:
我想在 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);
http://www.gimptalk.com/index.php?/topic/46715-batch-convert-xcf-to-png/page_p_354668#entry354668
我无法让它工作(我也尝试在 DOS 框中运行该命令)。
我真正想做的是调整这个脚本,这样我就可以指定许多要转换为 png 的文件名。谁能帮我修改上面的脚本(或提供等效的东西)。
(我希望整个脚本都包含在我的 PHP 文件中,而不是在其他地方(例如 GIMP 的插件文件夹)中包含其他位。)
【问题讨论】: