PythonでPhotoshopのアクション自動化ツールを作ってみた


普段趣味で写真撮影をしているエンジニアです。
大量の写真を色味調整などをすると結構時間かかりますので自動化のツールを作ってみました。

今回はPhotoshopのアクション機能を自動的に実行、保存のツールを作ってみます。


という簡単の構造です。

今回はphotoshop-python-apiというオープンソースライブラリを使います。


Photoshop内作ったアクション(例)

main.py
import os
import photoshop.api as ps
import glob

def main():

    # APIインスタンス
    instance = ps.Application()
    # 画像のパス(今回は.pyファイル下のimageフォルダ内のJPGファイル)
    filespath = './image/*.jpg'
    # フォルダ内のファイル名を取り出す
    files = glob.glob(filespath)

    # メインループ
    for f in files:
        # パスを絶対パスに変更
        abspath = os.path.abspath(f)
        # 画像をロード
        img = instance.load(abspath)
        # アクションを実行(アクション名,アクショングループ名)
        instance.doAction('P3', 'Skin')
        # 画像を保存(パス,保存のファイル形式,ファイルを置き換える)
        img.saveAs(abspath, ps.JPEGSaveOptions(), asCopy=False)
        # 画像を閉じる
        img.close()

if __name__ == '__main__':
    main()