1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Photoshop UXP Plugin 入門備忘録

Posted at

概要

Photoshop 拡張において、そろそろ Adobe ExtendScript を卒業したく、最新の選択肢である UXP に辿り着く。
UXP 開発のファーストステップの備忘録を残す。

参考文献

成果物

image.png

複数選択したレイヤー(レイヤーマスク)を対象に移動、回転、スケールを一括で行うツール。

備忘録

言語

JavaScript + HTML + CSS
ExtendedScript と違い、モダンな Javascript が書ける。今回は使ってないが、フレームワークも使用可能な模様。
また、今回は触れないが C++ と連携したハイブリッド Plugin も作れる模様。

開発環境

任意の IDE + UXP Developer Tools (Debuger) の組み合わせですんなり構築できるのでハードルが低い。
Develpler Tools も Adobe Creative Cloud Desktop からインストールできる。

API

API は発展途上期らしく、バージョン毎にわりと大きな更新が入っている模様。
今回は最初期のバージョンである 2022(23.5.5) を対象に成果物を作ったが、このバージョンはリファレンスに書かれているが使えい、あるいは使い方が最新と違う API が多く存在しており、ほとんどを batchPlay で実装した。

例)

  • Document.selectionundefined
  • Document.createLayer のレイヤーモードの指定方法が違う

BatchPlay

Photoshop 上のアクションからコマンドを生成することができる(UI上でコピーできる)。
コマンドは Object なので改造も可能。 Maya の Mel のような作り方ができるので実装がとても簡単。

// example レイヤーを選択
const command = {
  _obj: "select",
  makeVisible: false,
  _target: [{
    _ref: "layer",
    _id: id
  }]
};

細かい Tips

テーマ毎のカラー

PhotoShop はユーザーが UI テーマ (light, dark 等) を設定できるため、固定色を指定するとテーマによっては視認性が悪くなる。
あらかじめテーマ毎のカラーが用意されているので、それらを使うと良い。

/* example */
.hoge {
  color: var(--uxp-host-text-color-secondary)
}

sp-dropdown

sp-dropdown is deprecated. Please use sp-picker instead.
sp-dropdown を使用すると、非推奨だから sp-picker を使ってくれ、と注意される。
しかし、 sp-picker は少なくとも本環境下では正しく動作しない(選択したメニューが正しく表示されない)し公式リファレンスにも sp-dropdown が記載されているので無視とする。

懸念点、要検証点

Plugins の配布

Package した .ccx ファイルをダブルクリックでインストール、またはマーケットプレイスからインストールが主な導入方法らしい。
導入にユーザーアクションが必要なので、社内ツール配布はちょっと手間が掛かりそう。

最後に

まだ新しい仕組みということで痒いところに手が届ききらない印象はあるものの、 ExtendedScript に比べて開発環境は格段に便利になったし、これならどんどんプラグインを作りたい気持ちも湧いてきます。
今後の成長にも期待できるので、楽しみです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?