Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

automatische bildverarbeitung mit scripting

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Pink Panther
•-->
•-->


Anmeldedatum: 06.10.2004
Beiträge: 22

BeitragVerfasst am: 06.10.2004 - 13:34    Titel: automatische bildverarbeitung mit scripting Antworten mit Zitat

hallo!

Ich arbeite mit OSX 10.3 und bin absoluter Newbie.Confused
problem nummer 1: ich möchte alle jpeg's in einem ordner kleiner skalieren und anschließend neu in einem anderen ordner ablegen.
nach ein bißchen nachforsten bin ich auf "image events" gestoßen, damit sind ja einige einfache bildmanipulationen möglich. hab das skalierungsskript auch ausprobiert, aber leider wendet es die aktion auf mein original-mateial an, das ich eigentlich unangetastet lassen möchte. außerdem hab ich nicht geschafft, die desktop automation erfolgreich zum laufen zu bringen. mein skript sieht folgendermaßen aus:

property type_list : {"TIFF", "JPEG", "PNGf", "PICT"}
property extension_list : {"tif", "tiff", "jpg", "jpeg", "png", "pict", "pct"}

set the source_folder to choose folder with prompt ¬
"Pick a folder containing the images to process:"
try
tell application "Finder"
set these_files to every file of the source_folder whose ¬
file type is in the type_list or name extension is in the extension_list
repeat with i from 1 to the count of these_files
set this_path to (item i of these_files) as string
tell application "Image Events"
set this_image to open file this_path

set this_file to choose file
try
tell application "Image Events"
launch
-- open the image file
set this_image to open this_file
-- perform action
scale this_image to size 640
-- 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

-- IMAGE PROCESSING STATEMENTS GO HERE

close this_image
end tell

-- FINDER ACTIONS SUCH AS MOVE, DUPLICATE, OR DELETE GO HERE

end repeat
end tell
on error error_message
display dialog error_message buttons {"OK"} default button 1
end try



und ich erhalte folgende fehlermeldung:
"Image Events" hat einen Fehler erhalten: Keine Aktion vom Benutzer erlaubt.

Problem Nummer zwei:

Welche möglichkeiten gibt es, sich die in einem ordner enthaltenen jpegs als film bzw. sequenz anzusehen und direkt informationen über die jeweilige bildnummer zu erhalten. die sequenz besteht ja noch aus einzelbildern, ich will also wissen wie die bildnummer heißt, bei der ich gerade bin.

danke schon mal und sorry wegen dem riesenbeitrag, hab versucht mich kurz zu fassen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Pink Panther
•-->
•-->


Anmeldedatum: 06.10.2004
Beiträge: 22

BeitragVerfasst am: 06.10.2004 - 13:36    Titel: Antworten mit Zitat

achja, hab den link zu den image events vergessen:

http://www.apple.com/applescript/imageevents/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 06.10.2004 - 20:09    Titel: Antworten mit Zitat

Hallo Pink Panther,

zu Problem Nr. 2 sage ich gleich mal: keine Ahnung

zu 1:

Du hast in das Skript innerhalb des Tell-Blocks, der an Image Events gerichtet ist, die Befehle 'choose file' und 'display dialog' eingebaut.
Image Events reicht diese Befehle nicht an die entsprechende Scripting Addition weiter.

So läuft das Skript bei mir:

property type_list : {"TIFF", "JPEG", "PNGf", "PICT"}
property extension_list : {"tif", "tiff", "jpg", "jpeg", "png", "pict", "pct"}

set the source_folder to choose folder with prompt ¬
    "Pick a folder containing the images to process:"
try
    tell application "Finder"
        set these_files to every file of the source_folder whose ¬
            file type is in the type_list or name extension is in the extension_list
        repeat with i from 1 to the count of these_files
            set this_path to (item i of these_files) as string
            
tell application "Image Events"
                set this_image to open file this_path
                --
perform action
                
scale this_image to size 640
                --
save the changes
                
save this_image with icon
                --
purge the open image data
                
close this_image
            end tell
            
            --
FINDER ACTIONS SUCH AS MOVE, DUPLICATE, OR DELETE GO HERE
            
        end repeat
    end tell
on error error_message
    display dialog error_message buttons {"OK"} default button 1
end try


Allerdings werden hier immer noch die Original-Dateien verändert. Man müsste zuerst einen Zielordner festlegen und dann die jeweilige Datei dorthin duplizieren und erst danach darf sie durch Image Events bearbeitet werden.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 06.10.2004 - 20:21    Titel: Antworten mit Zitat

Hier kommt die nächste Version:

property type_list : {"TIFF", "JPEG", "PNGf", "PICT"}
property extension_list : {"tif", "tiff", "jpg", "jpeg", "png", "pict", "pct"}

set the source_folder to choose folder with prompt ¬
    "Pick a folder containing the images to process:"
set ZielOrdner to choose folder with prompt ¬
    "Ziel-Ordner auswählen"
try
    tell application "Finder"
        set these_files to every file of the source_folder whose ¬
            file type is in the type_list or name extension is in the extension_list
        repeat with i from 1 to the count of these_files
            set this_path to (duplicate ((item i of these_files) as string) to ¬
                ZielOrdner with replacing) as alias
            tell application "Image Events"
                set this_image to open this_path
                --
perform action
                
scale this_image to size 640
                --
save the changes
                
save this_image with icon
                --
purge the open image data
                
close this_image
            end tell
        end repeat
    end tell
on error error_message
    display dialog error_message buttons {"OK"} default button 1
end try


Nun wird das jeweilige Bild zuerst in den Zielordner kopiert und dort dann skaliert und gesichert.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Pink Panther
•-->
•-->


Anmeldedatum: 06.10.2004
Beiträge: 22

BeitragVerfasst am: 13.10.2004 - 12:26    Titel: Danke vielmals Antworten mit Zitat

Hab das Problem jetzt mit Photoshop gelöst.
Mittels applescript öffne ich photoshop, extrahiere ich den Bildnamen und füge ihn in einer neuen Textebene ein, skaliere alles und speichere es in einen frei wählbaren Ordner ab. Danach öffnet das Skript Quicktime, bastelt aus den Einzelbildern einen Film, schließt QT wieder und löscht den Ordner mit den zwischengespeicherten Bildern. Fertig! So hab ich am Ende einen Film in dem rechts oben immer der Name des jeweiligen Frames angezeigt wird. Ich bastel gerade an einer Ordnerüberwachung damit ich nur noch die Bilder von der Kamera in den Ordner schieben muss und sonst nix. Aber vielen Dank für die Hilfe. Nächstes Problem kommt gleich Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kipp
•-->
•-->


Anmeldedatum: 27.03.2007
Beiträge: 73
Wohnort: Göttingen

BeitragVerfasst am: 03.08.2007 - 08:35    Titel: Antworten mit Zitat

Ich greife diesen Beitrag noch mal auf, weil ich gerade über ein ähnliches Problem gestolpert bin. Wenn ich das erste von Snow gepostete script als Programm laufen lasse, erscheint bei (gefühlten) 50% der Fälle die Fehlermeldung "Die Variable this_Image ist nicht definiert". Wenn this_Image umbenannt wird, funktioniert es ein paar mal - und dann wieder nicht > ?? Habe die Ursache des Fehlers noch nicht finden können und wäre für einen kleinen Hinweis sehr dankbar...

>>> kipp ;o)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter