1 votos

¿Puede alguien ayudarme a traducir este flujo de trabajo de automator a applescript?

Workflow

Lo que quiero hacer es seleccionar un grupo de imágenes con dimensiones variables y aplicarles uniformemente una escala porcentual para redimensionarlas. 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 sólo tiene en cuenta la longitud, mientras que yo quiero la anchura. Así que pensé que mientras esté en applescript puedo especificar fácilmente la escala que quiero. Tengo la intención de ejecutar el script como un servicio.

2 votos

Esto parece un Problema XY Así que, ¿podría describir con más detalle el problema que está tratando de resolver aquí (sin suponer que AppleScript es el camino a seguir)? O describir con más detalle por qué AppleScript es un debe ?

1voto

Puede utilizar una acción "Ejecutar Shell script" y sips para reducir la escala de tus imágenes a cualquier valor. Añade una acción "Ejecutar Shell script", asegúrate de que el método de entrada está establecido en "stdin" (debería ser el predeterminado) e inserta 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 Shell sólo admite valores enteros, por lo que tendrá que especificar el factor de escala en miles (por ejemplo, 424 para 42,4%)

0 votos

¿Has probado que código y si es así, ¿cómo lo ha probado exactamente? A mí no me hace nada. BTW Es la acción "Run Shell script".

0 votos

Lo siento, olvidé tener en cuenta la ruta a los archivos. Corregido.

0 votos

Ahora me funciona. +1 Tengo que admitir que ni siquiera traté de depurarlo, y debería haberlo hecho. :)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X