Войти

Показать полную графическую версию : [решено] Скрипт по конвертации графики


hp1nt0
23-01-2017, 16:55
Здравствуйте, подскажите пожалуйста как написать скрипт по конвертации
серии WebP в анимированный WebP.
Я конвертирую серию изображений в анимированное изображение консольной утилитой webpmux.exe
Эта утилита не принимает подстановачные знаки.
То есть не *.webp не d%o03 не работают.
поэтому бат файл выглядит так:
.\bin\webpmux ^
-frame .\out\0001.webp +100 ^
-frame .\out\0002.webp +100 ^
-frame .\out\0003.webp +100 ^
-frame .\out\0004.webp +100 ^
-frame .\out\0005.webp +100 ^
-frame .\out\0006.webp +100 ^
-frame .\out\0007.webp +100 ^
-frame .\out\0008.webp +100 ^
-o anim_container.webp
Не могли бы вы подсказать как мне сделать бат файл для любого количества изображений с любыми именами.
Главное не составлять список самому а доверить это системе. Что то вроде:
webpmux %folder% -o result.webp
Вот инструкция по утилите: https://developers.google.com/speed/webp/docs/webpmux
Заранее благодарю.

Iska
23-01-2017, 18:32
для любого количества изображений »
— возможно.

с любыми именами. »
— это как? Как определить какие именно имена брать среди прочих, и как определить порядок поступления файлов в очередь?

hp1nt0
23-01-2017, 18:53
Здравствуйте. Для всех файлов с расширением .webp в папке.
Как правило имена у меня от ImageMagick и они 000.webp, 001.webp и так далее.

megaloman
23-01-2017, 18:58
Вот решение "в лоб":
@echo off

>~%~nx0 Echo .\bin\webpmux ^^
FOR %%f IN (*.webp) DO >>~%~nx0 Echo -frame ".\out\%%f" +100 ^^
>>"~%~nx0" Echo -o anim_container.webp

rem Call "~%~nx0" @echo off
cls
SetLocal EnableExtensions EnableDelayedExpansion

Set "Exe=.\bin\webpmux"
FOR %%f IN (*.webp) DO Set "Exe=!Exe! -frame ".\out\%%f" +100"
Set "Exe=%Exe% -o anim_container.webp"

Echo %Exe%
pause

Iska
23-01-2017, 19:54
Не знаю ограничения: сколько файлов за раз при этом можно обработать. »
Сколько поместится в командную строку. Зависит от версии ОС.

hp1nt0
23-01-2017, 20:40
Здравствуйте. Спасибо большое. Оба решения это точно то что нужно.
Оба протестировал и всё супер. Немного подкорректировал под свои нужды:
@echo off
>~%~nx0 Echo .\bin\webpmux ^^
FOR %%f IN ( .\out\*.webp ) DO >>~%~nx0 Echo -frame "%%f" +100 ^^
>>"~%~nx0" Echo -o anim_container.webp
Ещё раз спасибо.
https://my.mixtape.moe/yhccnp.webp




© OSzone.net 2001-2012