Использование pngquant с AppleScript

Может ли кто-нибудь поделиться яблочным скриптом, который использует pngquarnt для оптимизации изображений в папке. Может быть, даже сервис Apple будет полезен.

Примечание. Есть команда терминала, чтобы сделать то же самое, но я говорю о новичке, который может просто щелкнуть правой кнопкой мыши папку, содержащую изображения, и оптимизировать их.


person object2.0    schedule 06.12.2012    source источник
comment
Вы можете встроить команду терминала в яблочный скрипт.   -  person Michele Percich    schedule 06.12.2012
comment
Разве они не могли использовать ImageAlpha?   -  person Lri    schedule 06.12.2012
comment
@Lauri, проблема с ImageAlpha в том, что вам нужно оптимизировать одно изображение за раз. НЕТ режима пакетного преобразования.   -  person object2.0    schedule 11.12.2012


Ответы (2)


Загрузите zip-архив по указанному ниже пути и следуйте инструкциям из файла readme https://github.com/hamdullahshah/Automator-App-for-PngQuant

Вы можете изменить аргументы, изменив команду в «PngCompression WorkFlow», а затем сохранить ее как приложение.

person Hamdullah shah    schedule 07.12.2012
comment
здорово. Спасибо за попытку. - person object2.0; 07.12.2012

Это обработает все png-файлы в выбранной вами папке:

set myFolder to POSIX path of (choose folder)
set myFiles to do shell script "find " & quoted form of myFolder & " -name *.png -print0 | xargs -0 usr/local/bin/pngquant"

РЕДАКТИРОВАТЬ Ответ Хамдуллы использует следующую строку, которая очень похожа на мой ответ:

find $@ -name '*.png' -exec pngquant -ext .png -speed 1 -force 256 {} \;

Однако xargs предпочтительнее, чем exec при обработке больших пакетов файлов. Это быстрее, потому что когда вы используете «-exec», он запускает новый процесс для каждого найденного файла.

person adayzdone    schedule 06.12.2012
comment
это выглядит хорошо, но я принимаю другой ответ. Так как это проще для новичка (особенно нетехнических людей). В любом случае спасибо за усилия. - person object2.0; 07.12.2012
comment
Пожалуйста. Я отредактировал свой ответ, чтобы дать вам немного больше информации. - person adayzdone; 07.12.2012