Photoshop UXP 2022 アプリケーション、ドキュメント関係のプロパティー
Photoshop 2022になってから誰かUXP触ってるか不安になりながら今回も2022から追加されたプロパティーについて解説したいと思います。新しく追加されたプロパティーから様々なアプリケーション、ドキュメントの状態を取得できるようになりました。例えばクイックマスクモードか否か、ヒストリーの情報、描画色の色等、、、
詳しくはこちらのdocument関連とこちらでphotoshop関連が見れますが今回いくつかの新しいプロパティーについて触れたいと思います。
current tool
今回から現在選択されているツールの種類が取得できるようになりました。
これは以下のようにidとtypenameが取得できます。これはブラシツールの例です。
将来的にクラスが追加されるということで恐らくtoolの状態、(ブラシの太さとか)も読み込めるようになるんだと思います。似たようなメソッドがPhotoshop.coreモジュールにもあります。
描画色、背景色
塗りの色などに反映される描画色、背景色もappオブジェクトから読み込めます。
ご覧の通りRGB,CMYK,LABと様々な形での色情報を読み込めるのですがなぜかRGBの情報だけundefinedだったりする場合がある(原因はよくわからない)ので注意した方が良いと思います。ちなみに描画色のみに限れば指定の色を代入する事も可能です。
この時、色データのオブジェクトは専用のSolidColorコンストラクト(ExtendScriptではお馴染みの)から生成します。これはこちらの公式のページで細かい情報が載っています。但しこの公式のサンプルではどこからともなくSolidColor コンストラクトが出てきていますが実際このコードをそのまま使うとエラーで動きません。エラーの内容は「SolidColorを参照できない」それでappプロパティーとして呼び出すと動きます。これはわからん。扱っているドキュメンの内容に関わらずCMYKでもRGBでも好みのタイプの色オブジェクトを代入できると思います。但しExtendScriptと違って生成したインスタンの直下のプロパティがRGB,もしくはCMYKになっているので注意してください。
quickMaskMode
今回よりクイックマスクモードが取得、切り替えできるようになりました。コードは簡単です以下のようにboolean型の値を渡す、もしくは取得できます。