¿Podríais ayudarme a arreglar el siguiente script?
Tengo un actionscript que utilizo dentro de Automator para rellenar cualquier tamaño de imagen que se le lance en un lienzo cuadrado. Es decir, no hace falta que le dé las dimensiones literales del lado más largo y luego le diga que iguale la otra dimensión con los mismos píxeles. (Para 3000 imágenes eso llevaría tanto tiempo como exportar cada una manualmente).
Hasta Sierra, este script funcionaba para cualquier número de imágenes que le lanzara, tanto si le decía a Automator que actuara sobre imágenes seleccionadas, imágenes dentro de una carpeta, o si especificaba las imágenes desde dentro de Automator. Ahora, cuando el scriptcomienza, abre una ventana del Finder pidiéndome que seleccione un solo elemento. (Y elegir varios desde esta ventana no soluciona el problema, ya que el script busca procesar un elemento por iteración). En otras palabras, el script se ejecuta una vez y luego termina. Me gustaría saber cómo hacer que se ejecute por el número de elementos que necesite, y me gustaría saber cómo hacer que el script funcione sin solicitar elementos desde una ventana del Finder, sobre todo si ya he utilizado Get desde Automator para elegir los elementos en cuestión.
Así que está claro que el script se comporta de forma diferente ahora, no el flujo de trabajo en Automator. Y para comprobarlo más a fondo, el script podría ejecutarse igualmente desde el Editor de AppleScript, pero hace lo mismo.
Aquí está el script en cuestión:
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