Преобразование форматов файлов изображений с помощью командной строки & sips

Anonim

Преобразование изображений в новые форматы файлов очень просто благодаря множеству инструментов, встроенных непосредственно в OS X (и большинство дистрибутивов Linux). Хотя самый простой метод использует предварительный просмотр для преобразования изображений, есть параметр командной строки, который использует тот же инструмент sips, который мы обсуждали ранее, для пакетного изменения размера из командной строки.Используя sips, вы можете преобразовывать отдельные изображения в новые форматы изображений или даже выполнять пакетное преобразование изображений.

Простое преобразование изображений из командной строки

Чтобы преобразовать одно изображение с помощью sips, используйте следующий синтаксис командной строки:

sips -s format --out

Например, для файла с именем «test.jpg», который вы хотите преобразовать в PNG, синтаксис sips будет следующим:

sips -s формат png test.jpg --out test.png

Пакетное преобразование изображений с помощью sips

Преобразование группы изображений немного сложнее, и использование простых подстановочных знаков, например, при изменении размера с помощью sips, не работает так же. Вы обнаружите, что использование универсального подстановочного знака, такого как , также не переименовывает файл, поэтому вместо этого мы будем использовать очень простой сценарий оболочки со следующим синтаксисом команды:

for i in ; do sips -s format $i --out /$i.;done

Используя это, мы преобразуем папку с файлами .jpeg в файлы png в новую подпапку текущего каталога с именем «Converted»:

for i в формате .jpeg; do sips -s format png $i --out Converted/$i.png;done

Выполнение этой команды может привести к преобразованию всех изображений JPEG в формат PNG в новом каталоге.

Потенциально досадная проблема заключается в том, что результирующие имена файлов также будут включать в себя исходный тип файла, а это означает, что вы получите файлы с названием «test.jpeg.png». Расширение файла остается правильным, проблема только в названии. Вы можете обойти это, переименовав их для начала, а затем добавив правильное расширение файла с помощью аналогичного сценария bash, используя регулярное выражение или переименовав вручную с помощью mv.

При запуске sips с некоторыми форматами файлов вы можете столкнуться с ошибками «lingpng warning» относительно данных exif, эти ошибки можно по большей части игнорировать, и преобразование изображения все равно будет иметь место.

Спасибо Тому за идею пакетного преобразования

Преобразование форматов файлов изображений с помощью командной строки & sips