PythonスクリプトをPhotoshopのメニューから実行する方法[Windows限定]

py_ps_menustart_topimage

「PythonでPhotoshopのスクリプトを書いたけど、Photoshopのメニューから実行出来ないのは使いにくい」

Photoshopのスクリプトは通常

メニューから ファイル > スクリプト > スクリプトファイル名

で実行させます。

スクリプトの項目に並ぶスクリプトファイル名は、Photoshopのスクリプトフォルダ

C:\Program Files\Adobe\Adobe Photoshop XXXX\Presets\Scripts

に置くことで表示そして実行させることが出来ます。

ですがこの場所にPythonファイルを置いても表示されません、もし表示されても当然実行できないので使うことは出来ません。

今回はこの問題を解決するメニューからPythonを実行する方法をWindows限定ですが紹介したいと思います。


Pythonファイル .pyw を作る


py_photoshop_script.pyw  の名前でPythonのファイルを用意しました。
Photoshopで以下の操作が実行されるスクリプトです。

新規ファイル作成

フィルター 雲模様1

フィルター つまむ(80)

フィルター 明るさの最大値(10)

#!/usr/bin/env python


import win32com.client


psCom = win32com.client.Dispatch('PhotoShop.Application')

psCom.Documents.Add(512,512)

psCom.ActiveDocument.ActiveLayer.ApplyClouds()

psCom.ActiveDocument.ActiveLayer.ApplyPinch(80)

psCom.ActiveDocument.ActiveLayer.ApplyMaximum (10)

簡単に解説

psCom = win32com.client.Dispatch('PhotoShop.Application')

COMでPhotoshopにアクセスします。
COMコンポーネントを使ったPhotoshopにアクセスする説明は以前書いたので、記事をまだ読んでない方は是非よんでみてください。

psCom.Documents.Add(512,512)

新規ファイル作成 H:512 W:512

psCom.ActiveDocument.ActiveLayer.ApplyClouds()

フィルター 雲模様1

psCom.ActiveDocument.ActiveLayer.ApplyPinch(80)

フィルター つまむ(80)

psCom.ActiveDocument.ActiveLayer.ApplyMaximum (10)

フィルター 明るさの最大値(10)

大事なことは、拡張子を.py ではなく.pyw にすることです。

.pywとは


拡張子.pywはWindows限定で使えます。

Pythonを起動するのに通常は python.exeを使っていますが、拡張子を.pywにするとpythonw.exeで起動します。

pythonw.exeで起動するとコマンドプロンプトが表示されないのでスッキリ

Pythonのおまじない


#!/usr/bin/env python を先頭に入れるのを忘れずに。
これが無いと何で実行するのか分からずエラーになってしまいます。

Photoshopのスクリプトファイルを作る

Photoshopのスクリプトを用意します。

start_python_script.jsx

のファイル名でPhotoshopのスクリプトフォルダに保存しました。

Windows環境 Photoshop2020の場合:
C:\Program Files\Adobe\Adobe Photoshop 2020\Presets\Scripts


//start_python_script.jsx//------------

file_object = new File("C:/Python27/py_photoshop_script.pyw");
file_object.execute();

解説

file_object = new File("C:/Python27/py_photoshop_script.pyw");

Pythonファイル「py_photoshop_script.pyw」のファイルオブジェクトを取得

file_object.execute();

.execute() で実行します。

メニューから実行してみましょう


Photoshopのメニューから実行してみましょう。

メニュー > スクリプト > start_python_script

py_ps_menustart_gifanim

PhotoshopのメニューからPythonのスクリプトを実行できました。


 

まとめ

  • Pythonファイルの拡張子を .pyw にする
  • Pythonファイルに #!/usr/bin/env python を書くのを忘れない。
  • Photoshopのスクリプトファイルで.execute() を使う。


以上の事をすれば、Pythonで書いたPhotoshopのスクリプトでも
Photoshopのメニューから実行出来ます。

PhotoshopのスクリプトをPythonで書くことを検討してみてはいかがでしょうか。


コチラの記事も読まれています
タグ: , , ,