¿Puede alguien ayudarme a traducir este flujo de trabajo del automatizador a applecript?

1

Lo que quiero hacer es seleccionar un grupo de imágenes con diferentes dimensiones y aplicar uniformemente una escala de porcentaje para cambiar su tamaño. El flujo de trabajo se acerca mucho a eso. Pero no puedo ser más específico a las décimas más cercanas. Por píxeles solo toma en consideración la longitud, mientras que yo quiero el ancho. Así que pensé que siempre que esté en Applecript puedo especificar fácilmente la escala que quiero. Tengo la intención de ejecutar el script como un servicio.

    
pregunta Nix 01.05.2016 - 07:35

1 respuesta

1

Puede usar una acción "Ejecutar script de shell" y sips para reducir la escala de sus imágenes a cualquier valor. Agregue una acción "Ejecutar script de shell", asegúrese de que el método de entrada esté establecido en "stdin" (debería ser el predeterminado) e inserte el siguiente script

SCALEFACTOR=500
while IFS= read file; do
    sips --resampleWidth $(($(sips -g pixelWidth "$file" |
                                  sed -n -e '/pixelWidth/s/.*pixelWidth: //p')
                            * $SCALEFACTOR / 1000)) "$file" --out "${file%/*}/resized-${file##*/}"
done

La aritmética de shell solo admite valores enteros, por lo que deberá especificar el factor de escala en miles (por ejemplo, 424 para 42.4%)

    
respondido por el nohillside 01.05.2016 - 10:52

Lea otras preguntas en las etiquetas