PhotoshopをAppleScriptで制御する情報ってほとんど出てこないので、サンプルとしてアップします。
ChatGPTに聞いたときは「AppleScriptでは無理なのでJavaScriptで」と返されましたが、調べたらAppleScriptだけで完結できました。
このスクリプトは:
- 開いているドキュメントにクリッピングパスが設定されている場合
- そのパスを選択範囲に変換
- 選択範囲を反転して白(CMYK=0,0,0,0)で塗りつぶす
前提条件: ドキュメントはCMYKモード、クリッピングパスは1つだけ。
スクリプト(CMYK用)
tell application "Adobe Photoshop CC 2019"
if (count of documents) > 0 then
tell current document
set clip_sele_flg to false
set pcount to count path item
repeat with i from 1 to pcount
tell path item i
if kind is clipping then
create selection
set clip_sele_flg to true
exit repeat
end if
end tell
end repeat
if clip_sele_flg is true then
tell selection
invert
fill with contents {class:CMYK color, cyan:0, magenta:0, yellow:0, black:0}
end tell
end if
end tell
end if
end tell
RGB対応の例
もしRGBドキュメントにも対応させたい場合は、mode of current document
を判定して、塗りつぶす色を切り替えればOKです。
tell selection
invert
if mode of current document is RGB then
fill with contents {class:RGB color, red:255, green:255, blue:255}
else
fill with contents {class:CMYK color, cyan:0, magenta:0, yellow:0, black:0}
end if
end tell
ポイント
kind is clipping
でクリッピングパスかどうかを判定できます。create selection
でパスを選択範囲に変換できます。selection
オブジェクトにはinvert
やfill
が使えます。- RGB/CMYK どちらでも対応したい場合は上記の条件分岐を入れてください。