2013-01-12 3 views
1

저는 Photoshop 필터를 적용하기위한 스크립트를 작성하려고합니다. this blog에 좋은 조언이있는 것 같았지 만, 아래에 나열된 기본 예제를 시도 할 때 다음과 같은 오류가 발생합니다.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) 

이 문제의 원인에 대해서는 잘 모릅니다. This solution이 이미 구현되어 있으므로 무엇을해야할지 모르겠습니다. 나는를 PyDev와 포토샵 요소에 파이썬 2.7을 실행하는거야 (10)

내 코드 :

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() 

답변

1

나는 포토샵 API는 포토샵의 CSx 버전이 아닌 '요소'만 사용할 수 있습니다 확신 해요. 나는 당신이 필요한 .dll (또는 당신이 맥을 사용하는 경우 동등한 무엇이든지)이 없기 때문에 클래스를 사용할 수 없다고 말하는 것 같아요. http://www.adobe.com/devnet/photoshop/sdk.html

+0

아, 댐퍼가 부착되어 있습니다. appscript (또는 일부 이에 상응하는)와 같은 것이 작동하는지 알 수 있습니까? – Daniel

+0

Photoshop 소프트웨어가 Extendscript Toolkit과 함께 제공되는 경우 javascript, applescript 또는 vbscript를 사용하여 스크립트를 작성할 수 있어야합니다. 그러나 나는 그것이 단지 CS 일 수도 있다고 생각한다. 아마도 어도비 개발자 포럼을 통해 그들이 말하는 것을 볼 수 있습니다. – pdizz