Potresti aiutarmi a correggere il seguente script?
Ho un actionscript che uso all'interno di Automator per riempire qualsiasi immagine di dimensioni proiettata su di esso in una tela quadrata. In altre parole, non è necessario alimentare le dimensioni letterali del lato più lungo e quindi dirgli di abbinare l'altra dimensione con gli stessi pixel. (Per 3000 immagini che richiederebbero tutto il tempo necessario per esportarle manualmente).
Fino a Sierra, questo script avrebbe funzionato per qualsiasi numero di immagini che ho proiettato su di esso, se avessi detto ad Automator di agire su immagini selezionate, immagini all'interno di una cartella o se avessi specificato le immagini da Automator. Ora, quando lo script inizia, apre una finestra del Finder che richiede di selezionare un singolo oggetto. (E la scelta di multipli da questa finestra non risolverà il problema, poiché lo script sta cercando di elaborare un articolo per iterazione.) In altre parole, lo script viene eseguito una volta e poi finisce. Mi piacerebbe sapere come farlo funzionare per il numero di elementi necessari, e mi piacerebbe sapere come far funzionare lo script senza richiedere elementi da una finestra del Finder, in particolare se ho già utilizzato Ottieni da Automator per scegliere gli articoli in questione.
Quindi è chiaro che lo script si sta comportando diversamente ora, non il flusso di lavoro in Automator. E per testare ulteriormente questo, lo script potrebbe essere eseguito altrettanto facilmente dall'AppleScript Editor, ma fa la stessa cosa.
Ecco lo script in questione:
set this_file to choose file without invisibles
-- indicate the proportions for the pad area
set H_proportion to 1
set V_proportion to 1
try
tell application "Image Events"
-- start the Image Events application
launch
-- open the image file
set this_image to open this_file
-- get dimensions of the image
copy dimensions of this_image to {W, H}
-- calculate pad dimensions
if H_proportion is greater than V_proportion then
set the new_W to (H * H_proportion) / V_proportion
set pad_dimensions to {new_W, H}
else
set the new_H to (W * V_proportion) / H_proportion
set pad_dimensions to {W, new_H}
end if
-- perform action
pad this_image to dimensions pad_dimensions with pad color {65535, 65535, 65535}
-- save the changes
save this_image with icon
-- purge the open image data
close this_image
end tell
on error error_message
display dialog error_message
end try