Используйте команду sips на mac для обрезки нижней части изображения

Я хочу написать пакетную команду script для osx, которая обломает нижнюю часть изображения. Возможно ли использование глотков?

У меня есть куча изображений 640 x 1136, и я хочу обрезать их (не масштабировать или изменять размер) до 640 x 960. Когда изображение обрезается, я хочу, чтобы снизу было удалено изображение, а верхняя часть осталась прежней. В принципе, я просто хочу вырезать нижнюю часть изображения.

У меня есть это, но оно обрезается как сверху, так и снизу.

sips --cropToHeightWidth 640 960

Ответ 1

Не похоже, что это возможно. Спасибо, ребята.

Ответ 2

Мне потребовалось всего 2 года, чтобы подумать об этом... но вы можете сделать это с помощью библиотеки GD, которая фактически включена в стандартный встроенный интерпретатор PHP OSX (поэтому нет необходимости устанавливать какие-либо пакеты):

#!/usr/bin/php -f

<?php
   $im = imagecreatefromjpeg("image.jpg");
   $crop_area = array('x'=>0,'y'=> 0,'width'=>640,'height'=>960);
   $result = imagecrop($im, $crop_area);
   imagejpeg($result,"result.jpg");
?>

Для вызова из терминала вы сохраните его в файле, называемом say chopper, а затем сделайте исполняемый файл следующим образом:

chmod +x chopper

а затем вы можете запустить его, набрав:

./chopper

или дважды щелкните его в Finder.

Я предполагаю, что вы захотите, чтобы он забирал параметры имени файла для открытия и имя файла для сохранения и размеры, но вы получаете идею.

Ответ 3

Вы также можете использовать режим переворота дважды.

sips --flip vertical image.jpg
sips --cropToHeightWidth 640 960
sips --flip vertical image.jpg

Это сделало это для меня.


Обновление

Как и в комментариях, это решение больше не работает. Простите за это.