[GastForen Programmierung/Entwicklung AppleScript Photoshop Pfade Kopieren

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Photoshop Pfade Kopieren

HFPatzi
Beiträge gesamt: 37

15. Feb 2012, 10:47
Beitrag # 1 von 44
Bewertung:
(21019 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

da ich eine faule Socke bin, bin ich mal wieder auf der Suche, mir das Leben etwas zu erleichtern. Ich habe folgendes Problem:

Ich muss zu sehr vielen Bildern, die Photoshop Pfade von einem Bild in ein anderes Kopieren (das Quell- und das Zielbild sind, bis auf die Qualität und das Dateiformat identisch). Bisher habe ich das alles von Hand gemacht, also: Quell- und Zielbild öffnen und einen Pfad nach dem Anderen "rübergezogen. Da das jetzt aber immer mehr Bilder werden, suche ich nach einer Möglichkeit, das ganze zu automatisieren. Ich habe leider nur gar keine Idee wie ich das ganze angehen soll. Fortgeschrittene Applescript-Kentnisse sind vorhanden. Mir fehlt nur der Startschuss ;-)

Vielleicht kann mir hier ja jemand helfen.

Vielen Dank schonmal im Vorraus!

MfG

Patzi
X

Photoshop Pfade Kopieren

Hans Haesler
  
Beiträge gesamt: 5826

15. Feb 2012, 11:34
Beitrag # 2 von 44
Beitrag ID: #489935
Bewertung:
(20928 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Patzi,

herzlich willkommen im HDS-AppleScript-Forum! :-)

Für Deine Aufgabe hat bestimmt der eine oder andere eine fertige Lösung bereit.

Nur: Wir müssten noch wissen, welches Programm verwendet wird, welche Version. Und auch: Welches Mac OS X? PowerPC oder Intel?

Weiter: Sind die Namen der Bilder identisch? Die Endungen auch? Geht es darum, in einem Dokument die niedrigaufgelösten Bilder gegen eine hochaufgelöste Version zu tauschen?

Gruss, Hans


als Antwort auf: [#489926]

Photoshop Pfade Kopieren

HFPatzi
Beiträge gesamt: 37

15. Feb 2012, 11:46
Beitrag # 3 von 44
Beitrag ID: #489936
Bewertung:
(20922 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

danke für deine schnelle Antwort! ;-)

Zu den fehlenden Infos: Photoshop CS4 wird verwendet auf OSX 10.5.8, Intel.

Zu den Bildern: Die namen sind bis auf den Suffix Identisch (*.jpg & *.tif)

Es geht im Endeffekt nur darum die im qualitativ schlechteren Bild vorhandenen Freistellpfade (ganz normale Pfade, keine Beschneidungspfade) in das qualitativ bessere Bild zu kopieren. Die Bildgröße ist bei beiden Bildern gleich, dementsprechend auch die Pfade.

Gruß
Patzi


als Antwort auf: [#489935]

Photoshop Pfade Kopieren

Hans Haesler
  
Beiträge gesamt: 5826

15. Feb 2012, 11:58
Beitrag # 4 von 44
Beitrag ID: #489937
Bewertung:
(20915 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Patzi,

bitteschön.

Also ... dafür habe ich keine Lösung bereit. Und vermutlich hat so was noch niemand per Script erledigt.
Hoffen wir auf einen interessierten Mitleser, dem die Umsetzung gelingt.

Gruss, Hans


als Antwort auf: [#489936]

Photoshop Pfade Kopieren

HFPatzi
Beiträge gesamt: 37

15. Feb 2012, 13:02
Beitrag # 5 von 44
Beitrag ID: #489939
Bewertung:
(20866 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jap, da bin ich mal gespannt :)


als Antwort auf: [#489937]

Photoshop Pfade Kopieren

Hans Haesler
  
Beiträge gesamt: 5826

15. Feb 2012, 13:37
Beitrag # 6 von 44
Beitrag ID: #489942
Bewertung:
(20850 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Patzi,

ja, ich bin auch gespannt.

Ich hatte Dein erstes Posting zuwenig genau gelesen und dachte an Dateipfade, welche in einem InDesign- oder QuarkXPress-Dokument ausgetauscht werden sollen.

Ich vermute, dass Du die Freistellungspfade im Bedienfeld auswählst und dann die ausgewählte Bedienfeld-Zeile ins Zielbild "rüberziehst".

Man könnte auch den ausgewählten Pfad kopieren und einsetzen. Und das ist vermutlich das, was man per Script versuchen müsste.

Gruss, Hans


als Antwort auf: [#489939]

Photoshop Pfade Kopieren

HFPatzi
Beiträge gesamt: 37

15. Feb 2012, 15:03
Beitrag # 7 von 44
Beitrag ID: #489946
Bewertung:
(20823 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Stimmt, das war auch mein Gedanke. Ich weiß nur nicht genau, wie ich Photoshop Klarmachen kann welches das Quell- und welches das Zieldokument sein soll. Bzw. ist mir eine Lösung mit AS-Droplet vorgeschwebt. Nur müsste man dann ja auch wieder AS sagen welche Bilder man als Quell- und Welche man als Zielbilder definieren möchte.


als Antwort auf: [#489942]

Photoshop Pfade Kopieren

Hans Haesler
  
Beiträge gesamt: 5826

15. Feb 2012, 18:45
Beitrag # 8 von 44
Beitrag ID: #489983
Bewertung:
(20794 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Patzi,

anders als mit QuarkXPress bleibt mit Photoshop das Dokument, welches als erstes geöffnet wurde, document 1, auch wenn das zweite Dokument im Vordergrund ist. Auch mit front document ist das Verhalten gleich.

Um sicher zu gehen, könnte man sich aber auch an den Namen orientieren.
Angenommen das Quelldokument hat die Endung ".jpg" und das Zieldokument ".tif", dann kann so festgestellt werden, welches Dokument welches ist:

Code
  1. tell application "Adobe Photoshop CS4"
    set docName1 to name of document 1
    set docName2 to name of document 2
    if docName1 ends with ".jpg" then
    set sourceDoc to docName1
    set targetDoc to docName2
    else
    set sourceDoc to docName2
    set targetDoc to docName1
    end if
    end tell
    {sourceDoc, targetDoc}

Und in der Folge kann man die Dokumente so adressieren

Code
  1. tell application "Adobe Photoshop CS4"
    tell document sourceDoc
    -- tu was
    end tell
    end tell

Gruss, Hans


als Antwort auf: [#489946]
(Dieser Beitrag wurde von Hans Haesler am 15. Feb 2012, 18:46 geändert)

Photoshop Pfade Kopieren

Hans Haesler
  
Beiträge gesamt: 5826

15. Feb 2012, 21:22
Beitrag # 9 von 44
Beitrag ID: #489995
Bewertung:
(20770 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Patzi,

mit current document bekommt man immer das Dokument im Vordergrund.

Und das wird in der folgenden Studie auch benutzt, um die Dokumente abwechslungsweise in den Vordergrund zu bringen.

Code
  1. tell application "Adobe Photoshop CS4"
    activate
    set docName1 to name of document 1
    set docName2 to name of document 2
    if docName1 ends with ".jpg" then
    set sourceDoc to docName1
    set targetDoc to docName2
    else
    set sourceDoc to docName2
    set targetDoc to docName1
    end if
    -- eine Schleife durch die Pfade des Quelldokuments
    repeat with p from 1 to count of path items of document sourceDoc
    -- das Quelldokument in den Vordergrund rücken
    set current document to document sourceDoc
    -- den aktuellen Pfad auswählen
    select path item p of document sourceDoc
    -- kopieren
    copy
    -- das Zieldokument in den Vordergrund rücken
    set current document to document targetDoc
    -- den Handler aufrufen, welcher den Pfad einsetzt
    my pastePath()
    end repeat
    end tell

    on pastePath()
    tell application "System Events"
    keystroke "v" using {command down}
    end tell
    end pastePath

Währenddem der Befehl copy problemlos funktioniert, will es mit paste nicht klappen (ich benutze Photoshop CS5 unter SnowLeopard, habe aber hier das CS5 in CS4 geändert).
Als Ersatz wird UI-Scripting eingesetzt. Dabei wird die Taste "v" angetippt (= keystroke "v"), währenddem die Befehlstaste niedergehalten wird (= using {command down}).

Gruss, Hans


als Antwort auf: [#489983]

Photoshop Pfade Kopieren

HFPatzi
Beiträge gesamt: 37

16. Feb 2012, 10:47
Beitrag # 10 von 44
Beitrag ID: #490054
Bewertung:
(20696 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hey Hans!

Superklasse, vielen Dank dafür!!!

Das war sogar mehr als der Startschuss, den ich gebraucht habe :-)

Ich werde jetzt versuchen, das ganze noch in ein AS-Droplet zu packen, damit ich einfach nur den kompletten Ordner draufziehen muss.

Werde das Ergebnis sobald fertig, oder sobald ich eine Frage habe auch hier Posten.

Meinen größten Respekt für deinen Einsatz hier. So Leute wie du, helfen mir, ein paar Stunden früher Feierabend zu machen ;-)

Gruß
Patzi


als Antwort auf: [#489995]

Photoshop Pfade Kopieren

HFPatzi
Beiträge gesamt: 37

16. Feb 2012, 17:25
Beitrag # 11 von 44
Beitrag ID: #490117
Bewertung:
(20667 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hey Hans,

eine letzte Frage für heute :-)

Gibt es eine Möglichkeit, die Auswahl eines Pfades in der Pfadpalette von Photoshop aufzuheben? Momentan kopiert mir das Script alle Pfade des Quelldocs in einen einzelnen Pfad im Zieldoc. Händisch hatte ich das immer so gelöst, dass ich den in der Photoshop-Pfadpalette ausgewählten Pfad deaktiviert hatte.

Code
  1. deselect path item


nach

Code
  1. my pastePath()


funtioniert leider nicht.

Gruß
Patzi


als Antwort auf: [#490054]

Photoshop Pfade Kopieren

kkauer
Beiträge gesamt: 661

16. Feb 2012, 20:22
Beitrag # 12 von 44
Beitrag ID: #490126
Bewertung:
(20651 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ HFPatzi ] Es geht im Endeffekt nur darum die im qualitativ schlechteren Bild vorhandenen Freistellpfade (ganz normale Pfade, keine Beschneidungspfade) in das qualitativ bessere Bild zu kopieren. Die Bildgröße ist bei beiden Bildern gleich, dementsprechend auch die Pfade.

Eventuell ist der umgekehrte Weg (Pixel ins Pfaddokument kopieren) einfacher.
http://forums.adobe.com/message/3732257


als Antwort auf: [#489936]
(Dieser Beitrag wurde von kkauer am 16. Feb 2012, 20:25 geändert)

Photoshop Pfade Kopieren

Hans Haesler
  
Beiträge gesamt: 5826

16. Feb 2012, 21:24
Beitrag # 13 von 44
Beitrag ID: #490129
Bewertung:
(20632 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Patzi,

vielleicht genügt es, die Auswahl im Zieldokument aufzuheben:

Code
  1. tell application "Adobe Photoshop CS5"
    activate
    set docName1 to name of document 1
    set docName2 to name of document 2
    if docName1 ends with ".jpg" then
    set sourceDoc to docName1
    set targetDoc to docName2
    else
    set sourceDoc to docName2
    set targetDoc to docName1
    end if
    -- eine Schleife durch die Pfade des Quelldokuments
    repeat with p from 1 to count of path items of document sourceDoc
    -- das Quelldokument in den Vordergrund rücken
    set current document to document sourceDoc
    -- den aktuellen Pfad auswählen
    select path item p of document sourceDoc
    -- kopieren
    copy
    -- das Zieldokument in den Vordergrund rücken
    set current document to document targetDoc
    -- den Handler aufrufen, welcher den Pfad einsetzt
    my pastePath()
    -- die Auswahl im Zieldokument aufheben
    try
    deselect every path item of document targetDoc
    end try
    end repeat
    end tell

    on pastePath()
    tell application "System Events"
    keystroke "v" using {command down}
    end tell
    end pastePath

Falls nicht, kannst Du mal versuchen, ob es mit dem JavaScript funktioniert, auf welches kkauer hingewiesen hat.

Gruss, Hans


als Antwort auf: [#490117]

Photoshop Pfade Kopieren

HFPatzi
Beiträge gesamt: 37

17. Feb 2012, 08:14
Beitrag # 14 von 44
Beitrag ID: #490140
Bewertung:
(20585 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hans,

du bist ab heute mein persönlicher Held ;-)

Funktioniert einwandfrei und ich glaube ein Paar meiner Kollegen werden mir jetzt um den Hals fallen. Das leite ich dann einfach weiter :-)

Vielen Dank auch an dich, kkauer!

So kann ein Freitag beginnen!

Vielen, vielen Dank und ein schönes Wochenende!

Grüße
Patzi


als Antwort auf: [#490129]

Photoshop Pfade Kopieren

Hans Haesler
  
Beiträge gesamt: 5826

17. Feb 2012, 10:31
Beitrag # 15 von 44
Beitrag ID: #490169
Bewertung:
(20561 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Patzi,

bitteschön. Ich bedanke mich für die Ehrung. :-)

Nun bin ich gespannt auf das Droplet. Gar nicht so einfach, die Datei-Paare ausfindig zu machen.

Gruss, Hans


als Antwort auf: [#490140]
X