La acción del automatizador "Girar imágenes" consume una gran cantidad de memoria

0

Estoy creando un flujo de trabajo de automatización para rotar imágenes. Parece que sips y otras posibilidades de rotación de la imagen no cambian realmente los bits de la imagen, sino que simplemente giran un interruptor para la orientación, y necesito cambiar los bits de la imagen. De todos modos, estoy creando el flujo de trabajo utilizando la acción "Girar imágenes" y parece que utiliza una tonelada de memoria cuando giras varias imágenes (lo que es una especie de punto de una acción de automatización). Aparentemente, después de rotar una imagen, retiene la memoria y solo la libera una vez que se completa la acción completa. ¡Y así termino quedándome sin RAM y también cambié !

¿Hay una solución para forzarlo a liberar memoria?

    
pregunta Jason 25.09.2018 - 16:36

1 respuesta

0

Puedes usar Preview.app para realizar esa tarea. Cree un nuevo servicio llamado RotateLeft como este:

ypegaestecódigo:

onruntellapplication"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 bajo Seguridad / Privacidad / Accesibilidad como esta:

Puede cambiar los valores de retardo para que se ajusten a sus necesidades. También agregue un acceso directo en Preferencias / Teclado / Acceso directo / Servicios. Recuerde duplicar el servicio utilizando el código de clave 15 (Comando + R) en lugar del código de clave 37 para hacer RotateRight.

    
respondido por el Mateus Ribeiro 27.09.2018 - 01:08

Lea otras preguntas en las etiquetas