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

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

py_ps_menustart_topimage

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

Photoshopのスクリプトは通常

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

で実行させます。

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

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

にスクリプトファイル(.js又は.jsx)を置く事によって表示され、そして実行する事が出来ます。

ですがこの場所にPythonファイル(.py)を置いても表示されません、もし表示する事が出来てもPythonの起動ディレクトリ(python.exeがある場所)では無いので、当然実行できません。

今回はこの問題を解決するメニューから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限定で使えます。

スクリプトファイルを保存する時に拡張子[.pyw]を選んで保存。
もしくは、拡張子[.py]で保存したあとでファイルの拡張子を[.py]から[.pyw]に書き換えても良いです。

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で書くことを検討してみてはいかがでしょうか。


Photoshopの関連記事:

PhotoshopのスクリプトをPythonで書く方法の記事です


Adobe公式のプラグインでPhotoShopのスクリプトを書く方法の紹介です



BTOパソコンの草分け的ブランド【FRONTIER】

教育機関や研究施設/3DCG/動画編集/そしてゲームプレイにも、用途に合わせたオーダーメイド高性能PCがお得な価格で購入できます

最新GPUも格安構成も自由に選べる!パソコン買うならBTOの【FRONTIER】


【デジハリONLINEの 基礎動画 + AdobeCC一年ライセンス のお得プラン】

デジタルハリウッドのオンラインCGスクール「デジハリONLINE」が提供する、60時間の基礎動画とAdobe creative cloudの一年版ライセンスがパッケージされた、お得な講座プラン

「Adobeマスター講座」

受講ノルマは一切無し、Adobe製品の利用を目的に契約してもOK!これぞコスパ最強プラン!

▶︎ デジハリONLINE講座申込

▶︎基礎動画教材付きAdobe Creative Cloudを年額36,346円(税別)のお得な価格で使用する方法


Twitter Facebook Pocket LINE はてブ

おすすめの関連記事
コチラの記事も読まれています
あわせてよく読まれている記事
タグ: , , ,