カテゴリー:UXP 一覧

Photoshop UXP Scripting触ってみた

Photoshopのマイナーバージョンアップ(23.5)と共にmanifest.jsonやパネルUIを必須としないScriptingが使えるようになりました。これは従来のExtendScriptの代替のようなものでScriptファイル単体でUXPScriptが実行可能となります。以下ざっくりした特徴になります。 基本はUXP Pluginの仕様に準拠。(ES2015が使えたりローカルファイルへのアクセスが制限されていたり) psjsという特殊な拡張子を使用。 実行自体ファイル -> スクリプト -> 参照からpsjsファイルを選ぶだけ。 manifestもUIも必須ではない。ただしScript

Read more

Photoshop UXP localStorage FileアクセスToken

またまたPhotoshop UXPです。過去にPhotoshop UXPからExtendScriptを無理矢理実行するでstorageとfileSystem Tokenの話題をちょこっと出したのですがもう少し整理しようかと思って今回の記事になります。今回主にローカルのファイルパスを取得してその取得したEntry型のファイルパスをstorageを通して一時的に保存して再度取り出す、という一連の流れとそれに関連した話題になります。 ファイルパスについて 何度も過去に言及している通りUXPにおけるファイルパスはEntry型のオブジェクトとして取得しないと実際にローカルのファイルにアクセスできません(

Read more

PhotoshopUXPで調整レイヤーの情報を取得、調整する。

Photoshopの調整レイヤー、当たり前のように使う機能ですのでどなたにとっても必須の機能でしょう。しかしこの調整レイヤーですがscriptで調整しようとするとオブジェクトモデルに該当のオブジェクトがなかったりと悩みの種でもありました。今回その調整レイヤーをUXPで調整する方法がPhotoshop UXPのdeveloperコミュニティーに投稿されていたのでこちらを参照して行ってみました。 必要な知識 今回UXPのbatchPlayから調整するのでbatchPlayの知識が必要です。batchPlayに関してはPhotoshopUXP batchPlayでPhotoshopの特定の処理を実行

Read more

Photoshop UXP ver23.3 manifest V5

Photoshopが23.3にバージョンアップしました。いわゆるメジャーアップデートではありませんがUXPも少しだけ更新されています。いくつかのAPIの機能の追加、それとmanifestのver5にアップデートに伴う機能などが更新。 *5月20日manifestの項目を少し更新しました。 manifestで最新のバージョンにする。 まずはmanifestでプラグインの環境を最新の状態にしてみましょう。minversionを23.3(23.3以降にしか対応しないという意味)にapiVersionを2に、します。そしてmanifestVersionを5にしますがmanifestのバージョンを上げる

Read more

Photoshop UXP上ではNode.jsは動かない。

振り返ったらPhotoshop UXPとNode.jsについてまとまった記事を書いていない事に気づいたので書くことにしました。まあ結論から言うとUXP上でNode.jsは使えないです。しかし下記のコードを見ると誰しもがNode.jsベースで動いたコードと思ってしまうとは思います。 requireでPhotoshopモジュールを呼び出してPhotoshop関係のメソッドを実行しています。見た目そのままNode.jsではありますがそれでは以下はどうでしょうか。 結果は以下。 pathモジュールもfsモジュールも一見使えそうではあります。そのpathモジュールのメソッド、例えばextnameやdir

Read more

Photoshop UXP 開発のためのPlugin Alchemist Sorcerer

Photoshop UXP開発において欠かすことのできないプラグイン、JaroslavBereza氏のAlchemist。 そのAlchemistの新しいバージョンにはSorcererという新しいパネル(機能)が追加されました。これは簡単なPluginならほとんどの要素を自動で生成してくれる優れものです。Alchemistって何?という方は過去の記事を参照してください。以下いろんなリンクを先に紹介しておきます。 Alchemist Plugin github 今回参考にしたSorcererのチュートリアルのvideo(英語) Alchemistでbatch play用のコードを取得するチュート

Read more

Photoshop UXPからExtendScriptを無理矢理実行する

Photoshop UXPが導入されて巷ではどちらかというと今までCEPやExtendScriptで出来たことが出来なくなって悲鳴の方が大きい気がします。なのでUXPで出来ない事(ダイアログを呼び出さずにファイルを指定のパスに保存、特定のファイルを開く等)をやるためにどうにかExtendScriptを実行できないかみたいな話題も出てきています。そして結論から言うと通常の機能ではできません。そして今回それを無理矢理やろうという話です。 *5月31日storageに関する記述を修正。secureStorageは今回使用する必要がありませんでした。 そもそもUXPで出来ない事とは あまり公式ドキュメ

Read more

Photoshop UXPでtypescriptを使う

公式のPhotoshopの型データがついにリリースされました。こちらで確認できます。今まで非公式の型データはいくつかあったのですがPhotoshop2022アップデート後、早いタイミングで出てきたのでこのタイミングで使ってみます。早速インストールしましょう。 今回webpackでコンパイルしましたのでその他以下をインストール。 ts-loader typescript webpack-cli webpack webpackの設定は以下 成功するとコード補完、各種モジュール、オブジェクトの中身をタグでしっかり説明してくれます。 これで環境も構築できてめでたしでたし、というわけにいかないのが世の中

Read more

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

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

Read more

Photoshop 2022 UXP historystates

今回はdocumentのhistorystatesプロパティーについて触れたいと思います。ExtendScriptの頃からヒストリーの取得はできましたがUXPでも標準のAPIから取得できるようになりました。これはdocumentオブジェクトのプロパティーから取得できるオブジェクトで詳しいオブジェクトの内容は公式を参照。なおドキュメントが保持しているヒストリーはArray型のデータになります。オブジェクトの型自体ArrayなのでArray.fromメソッドなど使用しなくともそのままarrayメソッドが使用可能です。 このままforEachで各ヒストリーのデータを取得できます。 id,name,等

Read more