将图像文件作为图层加载到Photoshop

我有一个包含两个图像的现有PSD文件。我的目标是将其中一张图像更改为位于同一文件夹中的另一张图像。我检查了其他问题,发现使用Python以不同的方式可以达到相同的结果,但是我找不到所需实现的解决方案。 (我想通过Photoshop的COM界面执行此操作)

实际上,我可以访问图层并设置其属性,但是不能更改源图像/对象。

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 has scripting guides用于各种语言,我发现Python中的大多数方法和属性名称都基于VBScript version,但是即使with the docs我也找不到解决方案。当我在Add()上调用ArtLayers方法时,它会创建一个空白层,但我没有找到其他方法来处理图像/智能对象。

sh_jason_xu 回答:将图像文件作为图层加载到Photoshop

嘿,我一直在寻找相同的东西,并且在找到您发现的文档中的示例代码之后,这是我发现的解决方法。

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

我的意思是这有点愚蠢,但可以。如果不是最后一个文档,则可能需要重新选择您所在的文档。

本文链接:https://www.f2er.com/3069828.html

大家都在问