[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:
(18913 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:
(18822 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:
(18816 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:
(18809 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:
(18760 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:
(18744 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:
(18717 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:
(18688 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
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
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:
(18664 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
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:
(18590 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:
(18561 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
deselect path item 


nach

Code
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:
(18545 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:
(18526 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Patzi,

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

Code
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:
(18479 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:
(18455 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