¿Cómo reemplazar imágenes en iPhoto con versiones de mayor calidad?

2

Uso Aperture para editar y procesar fotos, pero prefiero iPhoto para guardar una galería de mis imágenes. Durante mucho tiempo, usé las herramientas integradas en iPhoto para "Importar desde la biblioteca de Aperture". Lo que no sabía era que esto solo importa la imagen de vista previa, que tiene una resolución de un cuarto y está muy comprimida. Ahora tengo un par de años de álbumes con muchos metadatos pero con una calidad de imagen horrible. Me gustaría reemplazar las imágenes con versiones de mayor calidad de Aperture, sin perder todos los metadatos (etiquetas, descripciones, caras, etc.). ¿Cuál es la forma más fácil de hacer esto?

Pregunta relacionada: ¿es posible acceder / cambiar los datos de imagen en iPhoto con AppleScript? Puedo escribir un script para hacer coincidir las imágenes y reemplazarlas, si hay un mecanismo para hacerlo.

    
pregunta IndigoFire 30.10.2012 - 15:51

1 respuesta

2

Así es como eventualmente resolví este problema. Tomó unos pocos pasos y requiere algunos scripts y hackers de línea de comandos, pero funcionó.

  1. Exporte las imágenes que desea actualizar desde Aperture a una carpeta, por ejemplo, ~/Pictures/Updates
  2. Abre el álbum en iPhoto
  3. Utilice este AppleScript para obtener una lista de nombres de archivos para las imágenes maestras

    set output_filename to "/Users/user/Pictures/album.txt"
    
    tell application "iPhoto"
        set pics to photos in current album
        do shell script "echo \"# Current album contents\" > " & output_filename
        repeat with pic in pics
            set picpath to image path of pic
            do shell script "echo " & picpath & " >> " & output_filename
        end repeat
    end tell
    
  4. Utilizando cualquier editor de texto, guarde el script a continuación en update_pics.sh y márquelo como ejecutable ( chmod 755 update_pics.sh en la línea de comando)

    #! /bin/bash
    # a quick script to parse in a series of filenames, and update them
    
    input_folder="$1"
    backup_folder="$2"
    
    if [ "$#" -ne 2 ]; then
            echo "Usage: $0 [folder with new images] [folder for backups]"
            exit 0
    fi
    
    if [ ! -d "$input_folder" ]; then
            echo "Can't read input follder $input_folder"
            exit -1
    fi
    
    if [ ! -d "$backup_folder" ]; then
            mkdir -p "$backup_folder"
    fi
    
    if [ ! -d "$backup_folder" -o ! -w "$backup_folder" ]; then
            echo "Can't write to backup folder $backup_folder"
            exit -1
    fi
    
    while read line; do
    
            # skip empty lines or comments
            [ -z "$line" -o "${line:0:1}" = "#" ] && continue
    
            if [ -f "$line" ]; then
                    filename='basename "$line"'
                    input_file="$input_folder/$filename"
                    cp "$line" "$backup_folder"
                    if [ -f "$input_file" ]; then
                            echo "Replacing $filename"
                            cp "$input_file" "$line"
                    else
                            echo "Could not find input file $input_file"
                    fi
            else
                    echo "$line does not exist"
            fi
    done
    
  5. Para usar el script, dale la ubicación de las imágenes actualizadas, una carpeta para colocar copias de seguridad (estoy paranoico de la pérdida de datos) y luego canaliza el archivo generado anteriormente. Por ejemplo:

    update_pics.sh Updates/ Backups/ < album.txt
    
  6. Si aún no lo has hecho, cierra iPhoto. Luego reinícialo mientras mantienes presionado Opción y Comando. Eso debería darle un diálogo para reconstruir el iPhoto. Solo deberías reconstruir las miniaturas, aunque es posible que desees reconstruir todo lo demás. Más información sobre cómo reconstruir la biblioteca iPhoto de Apple

Es probable que iPhoto tarde mucho tiempo en reconstruir las miniaturas, ya que las rehacerá todas de ellas. Tiene una serie de álbumes que hacer, probablemente es mejor actualizar primero las imágenes, álbum por álbum, y luego reconstruir la biblioteca. Eso es lo que hice, y funcionó bastante bien.

    
respondido por el IndigoFire 26.11.2012 - 05:10

Lea otras preguntas en las etiquetas