0 votos

La acción de los autómatas "Rotación de imágenes" es increíblemente intensiva en memoria

Estoy construyendo un flujo de trabajo automático para rotar las imágenes. Parece que sips y otras posibilidades de rotación de la imagen no cambian realmente los bits de la imagen, sino que sólo hay que pulsar un interruptor para la orientación, y necesito cambiar los bits de la imagen. De todos modos, estoy construyendo el flujo de trabajo usando la acción de "Rotar imágenes" y parece que usa una ton de memoria cuando rotas múltiples imágenes (que es una especie de punto de acción de un autómata). Aparentemente, después de rotar una imagen, retiene la memoria y sólo la libera después de que la acción completa se ha completado. Y así termino quedándome sin carnero y también intercambiar !

¿Hay alguna solución para forzarlo a liberar la memoria?

0voto

HUSTEN Puntos 118

Puedes usar el Preview.app para realizar esa tarea. Crea un nuevo servicio llamado RotateLeft así:

enter image description here

y pegar este código:

on run
    tell application "System Events"
        key code 36 -- Enter --> Open rename field
        delay 0.1
        key code 0 using command down -- command+A --> select all to include extension
        delay 0.1
        key code 8 using command down -- Copy name to clipboard
        delay 0.1
        key code 36 -- Enter --> Close rename field
        delay 0.1
        set fileName to the clipboard as text -- retrieve file name
        delay 0.1
        key code 31 using command down -- Command+O --> Open file (Default application must be Preview)
        delay 0.1
        repeat until exists window fileName of application process "Preview" -- Make sure image is open
            delay 0.1
        end repeat
        delay 0.1
        key code 37 using command down -- Command+L --> Rotate Left
        delay 1 -- If you are using really big images rise this value so the program can do the task
        key code 13 using command down -- Command+W --> Close image (use code 12 if you want to Quit every time)
        delay 0.1
        set the clipboard to {} -- erase clipboard
    end tell
end run

Antes de usar el Servicio debe permitir la vista previa en Seguridad/Privacidad/Accesibilidad de esta manera:

enter image description here

Puedes cambiar los valores de retraso para ajustarlos a tus necesidades. También agregue un atajo en Preferencias/Teclado/Atajo/Servicios. Recuerda duplicar el servicio usando el código de tecla 15 (Comando+R) en lugar del código de tecla 37 para hacer RotateRight.

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