2 votos

¿Cómo puedo automatizar el cambio de calidad de varias fotos?

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

  • abriendo cada foto en la vista previa
  • eligiendo "guardar como"
  • seleccionando jpeg
  • seleccionando una baja calidad
  • salvando

Esto puede llevar mucho tiempo cuando tengo más de 100 fotos. ¿Hay alguna manera fácil de automatizar esto con AppleScript, o a través de cualquier otro medio?

6voto

Mike Polen Puntos 3173

Aquí hay un simple Applescript que usa los Eventos de Imagen incorporados en OS X. Añade 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

Bellota también es bueno para la automatización barata y fácil a través de Applescript que ofrecerá más opciones de lo que Eventos de Imagen, pero Eventos de Imagen es gratis así que hay que

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X