Конвертируйте.XCF в.PNG, используя script-fu, вызываемый из PHP
Я хотел бы преобразовать несколько изображений.XCF в изображения.PNG в сценарии PHP. (Сглаживание слоев, сохранение прозрачности и соблюдение настроек видимости слоя).
Кажется, что вы можете вызвать 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
Я не мог заставить это работать (я также попытался выполнить команду в окне DOS).
Что я действительно хочу сделать, так это адаптировать этот скрипт, чтобы я мог указать количество имен файлов для преобразования в pngs. Может кто-нибудь помочь мне адаптировать вышеуказанный сценарий (или предоставить что-то эквивалентное).
(Я бы предпочел, чтобы весь сценарий содержался в моем PHP-файле, а не содержал другие биты в других местах, например в папке подключаемых модулей GIMP.)
1 ответ
Я получил ответ здесь (fu-script)...
http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=22276