31)AppleScript=>Photoshopの最近のブログ記事

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 オブジェクトには invertfill が使えます。
  • RGB/CMYK どちらでも対応したい場合は上記の条件分岐を入れてください。

エントリー一覧

OpenID対応しています OpenIDについて
漢字イラストロジック-脳トレ京
FREE ONLINE SUDOKU