タグ:UXP 一覧

Photoshop UXP 2022 BatchPlay descriptors,プロパティーの取得等

Photoshop UXP 2022の公式ドキュメントのbatchPlayのページに中身の説明が大幅に追加されました。今回このドキュメントに書かれている事を中心に取り上げたいと思います。(今回公式で説明されている事をほとんど日本語で説明するだけ) そもそもbatchPlayとは 過去の記事で詳しく説明していますがApi経由でなく直接Photoshopに特定の処理の実行を命令できるメソッドです。今までよく分かってなかったのですが今回公式のドキュメントである程度突っ込んで書かれているので実際に簡単に試してまとめてみました。 descriptors batchPlayメソッドには行くとかのオブジェク

Read more

Photoshop UXP 2022 アプリケーション、ドキュメント関係のプロパティー

Photoshop 2022になってから誰かUXP触ってるか不安になりながら今回も2022から追加されたプロパティーについて解説したいと思います。新しく追加されたプロパティーから様々なアプリケーション、ドキュメントの状態を取得できるようになりました。例えばクイックマスクモードか否か、ヒストリーの情報、描画色の色等、、、 詳しくはこちらのdocument関連とこちらでphotoshop関連が見れますが今回いくつかの新しいプロパティーについて触れたいと思います。 current tool 今回から現在選択されているツールの種類が取得できるようになりました。 これは以下のようにidとtypename

Read more

Photoshop 2022 UXP save.as メソッド entry class

Photoshop 2022 になってUXPに待望のsave.asメソッドが追加されました。これはPhotoshopで開いているファイルをjpe,tiffなどの決まったフォーマットで保存できるメソッドで前回までbatch playを通さないとできなかった保存処理がdocumentのオブジェクトモデルに追加されました。しかしこちらの記事でも説明した通りにstring型の保存パスをそのまま渡しただけですとエラーが返ってきます。公式ドキュメントでも触れられていますようにentryオブジェクトを渡さなければいけません。entryオブジェクトに関しては公式ドキュメントのこちらに詳細が載っています。とはい

Read more

Photoshop UXP 2022 executeAsModal

ついにリリースされましたPhotoshop2022。巷では草を生やす機能がもっぱら人気ですが今回は草を生 やさずにUXPを触ってみました。今回大幅にアップデートされてるので2021と大きく変わった仕様もあるという事で簡単に触れます。 PhotoshopCore module 今回新しく追加されたモジュールです。Photoshopのアプリケーションにアクセスするためのモジュールで今後かなり重要になると思います。Photoshop2021まではどこからでもアプリケーションにアクセスできましたが今後アプリケーション側の処理はPhotoshop coreモジュールのexecuteAsModalメソッド

Read more

Photoshop UXP Modal Dialog

Adobe MAX2021の開催の日程も決まって最新のAdobeのアプリケーションのメジャーアップデートも近くなってきました。そんなタイミングも近いですがPhotoshopUXPのModal Dialogについての記事になります。UXPとCEPの違いの一つに様々な形態のウインドウが扱えるます。このModal Dialogはウインドウの一つで他のパネル同様HTMLとCSSで自由にカスタマイズできるのですがこのウインドウが開かれている間は他の操作が一切反応しないことです。つまりダイアログの操作が終わるまで他のアプリケーションの操作をさせたくない場合に使える機能です。今回の記事もDavide氏の記事

Read more

Photoshop UXP プログレスバーの実装

2021年12月15日追記。 Photoshop 2022からはUXPにデフォルトで簡単にプログレスバーの実装ができるようになりました。2022以降、余程こだわりがない限りデフォルトのプログレスバーを使うのが言いでしょう。詳しくはこちらの記事。 Photoshop UXPではアプリケーションとパネル側のシステムが統一される、ということでキャンセルボタン同様プログレスバーの自作も今後できるようになるでしょう。勿論アプリケーション側の処理は基本非同期での処理でしょうから非同期での実装を想定します。ということで今回非同期の配列処理を取り上げます。このあたりに関してこちらの記事を参照。 大まかな構造

Read more

Promiseによる非同期処理のキャンセル機能を実装する

今後UXPの実装が進むとAdobe用のscriptの開発でこれまで以上に非同期処理が重要になるでしょう。もちろん非同期処理自体もはや当たり前のように使われていますが意外にキャンセルボタンの実装をしようと思ったかなりややこしかったのでまとめることにしました。なお、実装にあたってはこちらの記事を参考にしました。キャンセル可能でPromiseなsetTimeout()を作る 最初にPromise関数の実装にあたってPromiseの状態をオブジェクトで管理して一度resolve,rejectの結果を投げるメソッドをプロパティーに代入するという形をとっています。キャンセルボタンされない場合そのまま非同期

Read more

Photoshop UXP tiff,jpegといった決まったフォーマットで保存する

Photoshop UXP上のPhotoshop moduleではsaveメソッドが実装されています。これを使えば簡単にドキュメントの上書き保存が実行可能です。詳しくはドキュメント。 ただし違ったフォーマットで保存するとなると話は違ってきます。ドキュメントを見てもそこに対して言及されていません。ということでbatchPlayで行ってみましょう。もちろん保存用のbatchPlay用のコードはAlchemistからコピーします。以下tiff保存用のコード。 pathのプロパティにファイルパスをstring型として渡せば完了。ExtendScriptに慣れている方もそういう風に考えるでしょう。という

Read more

Photoshop UXPで使えるアニメーション機能

UIを組み立てる上でもはや当たり前のアニメーション。派手で華々しいアニメーションとまで行かなくてもちょっとしたボタンの変化、チェックボックスの動きにも使われています。しかし2021年7月3日現在Photoshop UXPでのCSSによるアニメーション、transitionはサポートされていません。と言うわけでjsで動かすしかないのですがjsでも動くライブラリや機能があります。と言うわけでどのライブラリが動くか軽く調べてみました。 調べたのは以下のライブラリ、機能になります。 requestAnimationFrame アニメーションライブラリー gsap 言わずとも知れた j-query モダ

Read more

Photoshop UXP eventを登録する

CEPにもありましたがPhotoshopにはアプリケーションの動きに対してコールバックを発火させるイベントを登録できます。全てのアプリケーションの動き、とまで言いませんがかなりの範囲をカバーしています。詳しくはphotoshopのイベントをcepで管理するとphotoshop-extensionの開発17-イベント基本を。CEPの場合csInterfacインスタンスから登録するPhotoshop以外のアプリケーションでもサポートされているイベントとPhotoshopのみのPhotoshopJSONCallbackのイベントがありました。PhotoshopJSONCallbackはIDを取得する

Read more