Me gustaría poder reducir la calidad de las fotos que tengo en un directorio a través de algún tipo de automatización. Uno de los requisitos es que no puedo cambiar las dimensiones de la foto. La forma en que lo he estado haciendo hasta ahora es simplemente
Esto puede llevar mucho tiempo cuando tengo más de 100 fotos. ¿Hay una manera fácil de automatizar esto con AppleScript o por cualquier otro medio?
Aquí hay un Applescript simple que usa los eventos de imagen integrados en OS X. Agregue sal al gusto.
property kFileList : {}
tell application "Finder"
set theSourceFolder to choose folder
set theDestinationFolder to choose folder
my createList(theSourceFolder)
set lastItem to (count kFileList)
repeat with thisItem from 1 to lastItem
set theFile to (theSourceFolder & item thisItem of kFileList) as string
tell application "Image Events"
set theImage to open theFile
save theImage as JPEG2 in ((theDestinationFolder & item thisItem of kFileList & ".jpg") as string) with compression level high
end tell
end repeat
end tell
on createList(mSource_folder)
set item_list to ""
tell application "System Events"
set item_list to get the name of every disk item of mSource_folder
end tell
set item_count to (get count of items in item_list)
repeat with i from 1 to item_count
set the_properties to ""
set the_item to item i of the item_list
set the_item to ((mSource_folder & the_item) as string) as alias
tell application "System Events"
set file_info to get info for the_item
end tell
if visible of file_info is true then
set file_name to displayed name of file_info
set end of kFileList to file_name
if folder of file_info is true then
my createList(the_item)
end if
end if
end repeat
end createList
Acorn también es bueno para la automatización barata y fácil a través de Applescript que ofrecerá más opciones que Image Events, pero Image Events es gratis, así que eso es todo.