1

我正在尝试编写一个脚本来应用 Photoshop 滤镜。我在看这个博客,它似乎有一些很好的建议,但是当我尝试基本示例(如下所列)时,我收到以下错误。

Traceback (most recent call last):
  File "C:\Users\Daniel\EclipseWorkspace\PhotoScript\src\scriptLaunch.py", line 3, in <module>
    psApp = win32com.client.Dispatch("Photoshop.Application")
  File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 108, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 85, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)

我不知道是什么导致了这个问题。该解决方案已经实施,所以我不知道该怎么做。我在 PyDev 和 Photoshop Elements 10 上运行 python 2.7。

我的代码:

import win32com.client

psApp = win32com.client.Dispatch("Photoshop.Application") //the line causing the error

psApp.Open(r"D:\temp\blah.psd")         # Opens a PSD file
doc = psApp.Application.ActiveDocument  # Get active document object
layer = doc.ArtLayers[0]                # Get the bottom-most layer
layer.AdjustBrightnessContrast(20,-15)  # Bright +20, Contrast -15
doc.Save()
4

1 回答 1

1

我很确定 Photoshop API 仅适用于 Photoshop CSx 版本,而不适用于“元素”。我认为这是说该类不可用,因为您没有必要的 .dll (或者如果您使用的是 mac,则为任何等价物)。http://www.adobe.com/devnet/photoshop/sdk.html

于 2013-01-12T19:49:29.000 回答