我正在尝试编写一个脚本来应用Photoshop滤镜。我看着this blog似乎有一些好的建议但是当我尝试基本的例子(下面列出)时,我得到以下错误。
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)
我不知道是什么导致了这个问题。 This solution已经实施,所以我不知道该怎么做。我在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()
答案 0 :(得分:1)
我非常确定Photoshop API仅适用于Photoshop CSx版本,而不适用于“Elements”。我认为它说这个类是不可用的,因为你没有必要的.dll(或者如果你使用的是mac,那么等同于它)。 http://www.adobe.com/devnet/photoshop/sdk.html