L'azione automatica "Ruota immagini" è incredibilmente ricca di memoria

0

Sto costruendo un flusso di lavoro di un automatore per ruotare le immagini. Sembra che sips e altre possibilità di rotazione delle immagini non cambino effettivamente i bit dell'immagine, ma basta capovolgere un interruttore per orientarsi e ho bisogno di cambiare i bit dell'immagine. Ad ogni modo, sto costruendo il flusso di lavoro usando l'azione "Ruota immagini" e sembra che usi una tonnellata di memoria quando ruoti più immagini (che è una specie del punto di un'azione di un automatore). Apparentemente, dopo aver ruotato un'immagine, conserva la memoria e la rilascia solo dopo che l'intera azione è stata completata. E così finisco per rimanere fuori da ram e anche scambiare !

C'è una soluzione per costringerlo a rilasciare memoria?

    
posta Jason 25.09.2018 - 16:36
fonte

1 risposta

0

Puoi usare Preview.app per eseguire quell'attività. Crea un nuovo servizio chiamato RotateLeft in questo modo:

eincollaquestocodice:

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

Prima di utilizzare il servizio è necessario consentire l'anteprima in Sicurezza / Privacy / Accessibilità in questo modo:

È possibile modificare i valori di ritardo in base alle proprie esigenze. Aggiungi anche un collegamento in Preferenze / Tastiera / Collegamento / Servizi. Ricorda di duplicare il servizio utilizzando il codice chiave 15 (Command + R) anziché il codice chiave 37 per eseguire RotateRight.

    
risposta data 27.09.2018 - 01:08
fonte

Leggi altre domande sui tag