Wird zurzeit moderiert

Script:  Fotos nach Grösse in Alben verteilen

Getestet in Fotos für Mac auf macOS Sierra 10.12.5

Das folgende Skript kann Fotos je nach Größe in Pixeln auf zwei Alben mit grossen und kleinen Fotos aufteilen:   https://discussions.apple.com/docs/DOC-11621

Das kann hilfreich sein, wenn man eine Mischung aus Miniaturen und Fotos in voller Grösse in der Mediathek hat.

Das Skript übernimmt alle Fotos die in Fotos ausgewählt wurden. Dann fragt es nach einer minimalen Pixelzahl.

  • Alle Fotos, deren längste Seite kleiner als diese Pixelzahl sind, werden einem Album zugefügt, die Fotos die grösser sind dem zweiten Album. Ein drittes Album, SkippedFotos enthält alle ausgewählten Elemente, für die keine Länge oder Breite festgestellt werden konnte, beispielsweise Audiodateien.

Kopiere das Skript in den Skripteditor, wähle die Fotos aus, die du testen willst, und drücke den "Run" Knopf.

 

 

--  kopiere ab hier

(* How to use this script:

 

This script will split the selection into two albums -

- one album with pictures with the largest dimension smaller or equal than the given pixel size

- one album with pictures with the largest dimension larger than the given pixel size

 

 

Open this script in Script Editor. Launch Photos.

Select the Photos you want to distribute between the albums.

 

When all photo have been selected, press the "Run" button in Script Editor.

 

Author: léonie

*)

 

set defaultSizeThreshold to 256 -- change this to the pixel size threshold  you want for a photo to be counted as small

 

set dialogResult to display dialog ¬

  "Enter the pixel size threshold for small photos: " buttons {"Cancel", "OK"} ¬

  default answer (defaultSizeThreshold as text)

set AspectRatioThreshold to (text returned of dialogResult) as integer

 

 

set smallAlbumName to "smallerThan" & AspectRatioThreshold -- the album to collect the small photos

 

set largeAlbumName to "largerThan" & AspectRatioThreshold -- the album to collect the larger photosphotos

 

tell application "Photos"

  activate

  -- Ensure that the albums do exist

 

  try

  if not (exists container smallAlbumName) then

  make new album named smallAlbumName

  end if

  set theSmallAlbum to container smallAlbumName

 

  if not (exists container largeAlbumName) then

  make new album named largeAlbumName

  end if

  set theLargeAlbum to container largeAlbumName

 

  if not (exists container "SkippedPhotos") then

  make new album named "SkippedPhotos"

  end if

  set theSkippedAlbum to container "SkippedPhotos"

 

 

  on error errTexttwo number errNumtwo

  display dialog "Cannot open albums: " & errNumtwo & return & errTexttwo

  end try

 

  -- process the selected photos from the All Photos album

  try

  set imageSel to (get selection)

  on error errTexttwo number errNumtwo

  display dialog "Cannot get the selection: " & errNumtwo & return & errTexttwo

  end try

 

  set smallPhotos to {} -- the list of small photos

  set largePhotos to {} -- the list of larger photos

  set skippedPhotos to {} -- the list of skipped  photos

 

 

  -- check, if the album or the selected photos do contain images

 

  if imageSel is {} then

  error "Please select some images."

  else

  repeat with im in imageSel

  try

 

  tell im --get the pixel size

  set h to its height

  set w to its width

  end tell

  on error errText number errNum

  display dialog "Error: " & errNum & return & errText & "Trying again"

  try

  delay 2

  tell im

  set h to its height

  set w to its width

  end tell

  on error errTexttwo number errNumtwo

  display dialog "Skipping image due to repeated error: " & errNumtwo & return & errTexttwo

  end try

 

  end try

  set noDimensions to (w is missing value) or (h is missing value)

  if noDimensions then

  set skippedPhotos to {im} & skippedPhotos

  else

  if (wh) then

  set largestDimension to h

  else

  set largestDimension to w

 

  end if

  if (largestDimensionAspectRatioThreshold) then

  set smallPhotos to {im} & smallPhotos

  else

  set largePhotos to {im} & largePhotos

 

  end if

  end if

 

  end repeat

 

  add smallPhotos to theSmallAlbum

  add largePhotos to theLargeAlbum

  add skippedPhotos to theSkippedAlbum

 

  return "small photos: " & (length of smallPhotos) & ", larger photos : " & (length of largePhotos) & ", skipped: " & (length ofskippedPhotos)

 

  end if

 

end tell

 

 

Dieses Dokument wurde anhand der folgenden Diskussion generiert: Wie kann ich die Fotos nach Grösse sortieren?

Kommentare

  • 0 Kommentare:

Dokument löschen

Dieses Dokument wirklich löschen?