使用从PHP调用的script-fu将.XCF转换为.PNG

时间:2012-11-15 21:16:47

标签: script-fu xcf

我想在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的插件文件夹中。)

1 个答案:

答案 0 :(得分:-1)

我在这里得到了答案(fu-script)......

http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=22276#p92700