Como você usa “sips” no terminal para redimensionar uma imagem, sem aumentar a escala?

Como você usa “sips” no terminal para redimensionar uma imagem, sem aumentar a escala?

Eu tenho um código que estou usando para redimensionar imagens no Mac OS X por meio do prompt de comando (e/ou mercúrio), para uma largura ou altura máxima de 500px. O único problema é que se a imagem original for menor que 500px de largura ou altura, os goles irão aprimorá-la. Eu gostaria que simplesmente pulasse essas imagens.

Como posso fazer isso acontecer?

Este é o meu código:

#!/bin/bash

para ARG em "$@"
    fazer
        goles -Z 500 -s formato jpeg "$ARG" --out "${ARG%.*}.jpg"
feito

Responder1

Processe a saída de sips --getProperty pixelHeight filename.exte sips --getProperty pixelWidth filename.extuse-a em uma condição, executando apenas a operação de redimensionamento se desejar.


#!/bin/bash
height=`sips --getProperty pixelHeight url.png | sed -E "s/.*pixelHeight: ([0-9]+)/\1/g" | tail -1`
width=`sips --getProperty pixelWidth url.png | sed -E "s/.*pixelWidth: ([0-9]+)/\1/g" | tail -1`

if [[ $height -gt 500 || $width -gt 500 ]]; then
    growlnotify -m "large file needs reducing"
fi

Você pode fazer o resto sozinho.

Responder2

Isso lê a largura e a altura da imagem em um comando

#!/bin/bash
size=($(sips -g pixelWidth -g pixelHeight $theFile | grep -o '[0-9]*$'))

if [[ ${size[0]} -gt 500 || ${size[1]} -gt 500 ]]; then
    growlnotify -m "large file needs reducing"
fi

informação relacionada