liquidjumper 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のスクリプトを書く方法の紹介です



 最新のゲーミングPCが安く手に入れられる「 FRONTIER 」

 豊富なカスタマイズメニューで、あなた好みの1台が購入できます。

 人気の秘密は何と言ってもコスパの高さ。
 最新のCPU・GPUパーツを搭載したモデルを驚きの価格で提供。

 山口県の自社工場で組み立てられ徹底した試験・検査後に出荷。
 無償修理サービスもありサポート体制も安心。

 コスパに徹底的にこだわる方は公式サイトへ >> 【FRONTIER】





𝕏 ( 旧Twitter ) Facebook Pocket LINE はてブ

おすすめの関連記事



あわせてよく読まれている記事
タグ: , , ,