我正在尝试编写一个脚本来应用 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()