▷ Конвертируйте форматы файлов изображений с помощью командной строки и sips
Преобразование изображений в новые форматы файлов очень просто благодаря серии инструментов, встроенных прямо в OS X (и большинство дистрибутивов Linux). Хотя самый простой метод использует предварительный просмотр для преобразования изображений, есть опция командной строки, которая использует тот же инструмент, о котором мы говорили ранее, для выполнения пакетного изменения размера из командной строки. Используя sips, вы можете конвертировать отдельные изображения в новые форматы изображений или даже выполнять пакетное преобразование изображений.
Простое преобразование изображений из командной строки
Чтобы преобразовать одно изображение с помощью sips, используйте следующий синтаксис командной строки:
sips -s формат [type d’image] [nom du fichier] -вне [fichier de sortie]
Например, для файла с именем «test.jpg», который вы хотите преобразовать в PNG, синтаксис sips будет следующим:
sips -s format png test.jpg –out test.png
Пакетное преобразование изображений с помощью сифонов
Преобразование группы изображений немного сложнее, и использование простых подстановочных знаков, таких как изменение размера sip, не работает так же. Вы обнаружите, что использование универсального подстановочного знака, такого как *, также не переименовывает файл, поэтому вместо этого мы будем использовать очень простой сценарий оболочки со следующим синтаксисом команды:
для меня в [nom de fichier] ; сделать sips -s формат [type d’image] $ i –out [destination]/ $ i.[extension];Выполнено
Для этого мы преобразуем папку с файлами .jpeg в файлы png в новой подпапке текущего каталога, которая называется «Преобразовано»:
залить я en * .jpeg; do sips -s format png $ i –out Converti / $ i.png; готово
Выполнение этой команды может преобразовать все изображения JPEG в формат PNG в новом каталоге.
Проблема в том, что полученные имена файлов также включают исходный тип файла, а это означает, что вы получите файлы с названием «test.jpeg.png». Расширение файла остается правильным, это всего лишь проблема с именованием. Вы можете обойти эту проблему, сначала переименовав их, а затем добавив соответствующее расширение файла с помощью аналогичного сценария bash, используя регулярное выражение, или переименовав их вручную с помощью mv.
При использовании определенных форматов файлов вы можете столкнуться с ошибками предупреждения «lingpng», касающимися данных exif, большинство этих ошибок можно игнорировать, и преобразование изображения все равно будет выполняться.
Спасибо Thom за идею пакетной конвертации