タグ:UXP 一覧
Adobe MAX2021の開催の日程も決まって最新のAdobeのアプリケーションのメジャーアップデートも近くなってきました。そんなタイミングも近いですがPhotoshopUXPのModal Dialogについての記事になります。UXPとCEPの違いの一つに様々な形態のウインドウが扱えるます。このModal Dialogはウインドウの一つで他のパネル同様HTMLとCSSで自由にカスタマイズできるのですがこのウインドウが開かれている間は他の操作が一切反応しないことです。つまりダイアログの操作が終わるまで他のアプリケーションの操作をさせたくない場合に使える機能です。今回の記事もDavide氏の記事
Read more
2021年12月15日追記。 Photoshop 2022からはUXPにデフォルトで簡単にプログレスバーの実装ができるようになりました。2022以降、余程こだわりがない限りデフォルトのプログレスバーを使うのが言いでしょう。詳しくはこちらの記事。 Photoshop UXPではアプリケーションとパネル側のシステムが統一される、ということでキャンセルボタン同様プログレスバーの自作も今後できるようになるでしょう。勿論アプリケーション側の処理は基本非同期での処理でしょうから非同期での実装を想定します。ということで今回非同期の配列処理を取り上げます。このあたりに関してこちらの記事を参照。 大まかな構造
Read more
今後UXPの実装が進むとAdobe用のscriptの開発でこれまで以上に非同期処理が重要になるでしょう。もちろん非同期処理自体もはや当たり前のように使われていますが意外にキャンセルボタンの実装をしようと思ったかなりややこしかったのでまとめることにしました。なお、実装にあたってはこちらの記事を参考にしました。キャンセル可能でPromiseなsetTimeout()を作る 最初にPromise関数の実装にあたってPromiseの状態をオブジェクトで管理して一度resolve,rejectの結果を投げるメソッドをプロパティーに代入するという形をとっています。キャンセルボタンされない場合そのまま非同期
Read more
Photoshop UXP上のPhotoshop moduleではsaveメソッドが実装されています。これを使えば簡単にドキュメントの上書き保存が実行可能です。詳しくはドキュメント。 ただし違ったフォーマットで保存するとなると話は違ってきます。ドキュメントを見てもそこに対して言及されていません。ということでbatchPlayで行ってみましょう。もちろん保存用のbatchPlay用のコードはAlchemistからコピーします。以下tiff保存用のコード。 pathのプロパティにファイルパスをstring型として渡せば完了。ExtendScriptに慣れている方もそういう風に考えるでしょう。という
Read more
UIを組み立てる上でもはや当たり前のアニメーション。派手で華々しいアニメーションとまで行かなくてもちょっとしたボタンの変化、チェックボックスの動きにも使われています。しかし2021年7月3日現在Photoshop UXPでのCSSによるアニメーション、transitionはサポートされていません。と言うわけでjsで動かすしかないのですがjsでも動くライブラリや機能があります。と言うわけでどのライブラリが動くか軽く調べてみました。 調べたのは以下のライブラリ、機能になります。 requestAnimationFrame アニメーションライブラリー gsap 言わずとも知れた j-query モダ
Read more
CEPにもありましたがPhotoshopにはアプリケーションの動きに対してコールバックを発火させるイベントを登録できます。全てのアプリケーションの動き、とまで言いませんがかなりの範囲をカバーしています。詳しくはphotoshopのイベントをcepで管理するとphotoshop-extensionの開発17-イベント基本を。CEPの場合csInterfacインスタンスから登録するPhotoshop以外のアプリケーションでもサポートされているイベントとPhotoshopのみのPhotoshopJSONCallbackのイベントがありました。PhotoshopJSONCallbackはIDを取得する
Read more
Photoshop UXP Pluginを開発後に配布したい、簡単にインストールできるようにしたい、と言う場合のファイルをパッケージ化手順について触れます。勿論CEPに比べたら簡単だとは思いますがやはりつまずく部分はあります。 アイコンを作成する UXPに関しては開発中はアイコンは一切必要ありませんがパッケージ化する場合はアイコンが必須となります。そしてこのアイコンなのです二種類存在するのですがそこから解説します。具体的にはmanifest.jsonトップレベルにプラグインパネルのアイコン、entrypoints内のアイコンがパネルがツールバーに埋め込まれた時に表示されるアイコンです。 &nb
Read more
久しぶりにPhotoshop用UXP plugin開発しました。Photoshop上で画像をリストとして一覧で表示してアクティブにしたい画像パネル上で選んだり閉じたりできるパネルです。画像を沢山開いた時に一覧で画像の情報を表示して目的の画像を簡単に探したりできないかと思って開発しました。 *2021年12月6日 アップデートしました。detail panel追加。最新版は2022バージョンでインストールしてください。 使い方 今回とてもシンプルです。ファイルをPhotoshopで開いたり閉じたりするとパネルのリストが自動的に更新されます。リストにはファイル名、ファイルの保存されたパス、幅、高さ
Read more
Photoshop UXPのドキュメンを眺めるとオブジェクトモデルの数が非常に少ないのがわかります。レイヤー、ドキュメント、アクション、選択範囲くらいしかないのですがその他のメソッドは?というとbatchPlayで実行できます。このあたりは何度かこのblogでも取り上げましたが具体的にその手順まで書いていませんでした。という事で早速やってみたいと思いますがまずjardicc氏のalchemistというUXPプラグインを使用します。これはAdobeのマーケットプレイスからもインストールできます。 しかし情報の欄を読むと開発進行中のバージョンをGitHubからダウンロードして使用する方がおすすめと
Read more
PhotoshopUXPでサンプルプラグイン作りました。モダンなコードで書くとどんな感じのコードになるかのサンプルになります。内容はPhotoshopの雛形となるドキュメントを自動で生するプラグインです。ドキュメントを作成した後にレイヤーを作成したりガイドを引いたりしてドキュメントの雛形を作ってくれます。コード全体はこちらからご覧ください。 プラグインの概要 classからインスタンスを作成するとドキュメントを作成します。以下のようになります。 DocumentPreset classのコンストラクターに雛形の名前、幅、高さ、解像度、カラーモード、土台
Read more