[FIXED] Laden Sie die Bilddatei als Ebene in Photoshop

Ausgabe

Ich habe eine vorhandene PSD-Datei, die zwei Bilder enthält. Mein Ziel ist es, eines der Bilder durch ein anderes Bild zu ersetzen, das sich im selben Ordner befindet. Ich habe andere Fragen überprüft und festgestellt, dass das gleiche Ergebnis mit Python auf unterschiedliche Weise erzielt werden kann, aber ich konnte die Lösung für meine gewünschte Implementierung nicht finden. (Ich möchte dies über die COM-Schnittstelle von Photoshop tun)

Tatsächlich kann ich auf die Ebenen zugreifen und ihre Eigenschaften festlegen, aber das Quellbild / -objekt nicht ändern.

import win32com.client
import os

# opens ps
psApp = win32com.client.Dispatch("Photoshop.Application")
# opens file
psApp.Open(r"F:\dev\ae\f1.psd") 

# new image to add
img1 = r"F:\dev\ae\img1.png"

doc = psApp.Application.ActiveDocument

# new blank layer
doc.ArtLayers.Add()

# get layer to change
layer = doc.ArtLayers[1]        

Adobe hat Skriptleitfäden für verschiedene Sprachen und ich habe herausgefunden, dass die meisten Methoden- und Eigenschaftsnamen in Python auf dem basieren , aber ich konnte die Lösung nicht einmal mit der DokumentationVBScript version herausfinden . Wenn ich die Methode aufrufe, wird eine leere Ebene erstellt, und ich habe keine andere Methode gefunden, um dasselbe mit einem Bild/Smartobject zu tun.Add()ArtLayers

Lösung

Hey, ich habe nach der gleichen Sache gesucht und nachdem ich den Beispielcode in den von Ihnen gefundenen Dokumenten durchsucht habe, ist dies die Arbeit, die ich gefunden habe.

psApp.Load(img1)
psApp.ActiveDocument.Selection.SelectAll()
psApp.ActiveDocument.Selection.Copy()
psApp.ActiveDocument.Close()
psApp.ActiveDocument.Paste()

Ich meine, es ist ein bisschen dumm, aber es funktioniert. Möglicherweise müssen Sie das Dokument, in dem Sie sich vor dem Einfügen befanden, erneut auswählen, wenn es nicht das letzte ist.


Beantwortet von –
Aaron Jiang


Antwort geprüft von –
Jay B. (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like