UXP for Photoshop:Photoshopで動かすサブスタンスフィルター できた報告 報告のみ

UXP for Photoshop:Photoshopで動かすサブスタンスフィルター できた報告 報告のみ

シリーズ投稿。Photoshopフィルタとしてsbsarを使う

報告

サンプルのソケットサーバーサンプルとノイズを作るサンプルを組み合わせたらとりあえず動くものができてしまった。nodejsとかawaitとかよくわからん人なので公開できるようなコードの状態ではないのだが、とりあえず。

ソケット通信でフォトショップの画像を送信、サブスタンスで処理して戻す、という流れは問題なく動いた。ソケット通信をする必要はなくwebサーバへのリクエストとレスポンスの方が楽なのではと途中思ったりしていたが、ビットマップのデータの配列であるUint8Arrayをそのままnodeのwebソケットサーバに投げて、サーバ側でデータ変更することなく扱えるのはよかった。

今回はサーバ側での画像処理にshapeというモジュールをつかった。下記サイトを参考にさせてもらった。ありがたし。

けーちゃんのプログラム開発ノート
【Node.js】 画像処理モジュールsharpの使い方を網羅してみました
https://note.affi-sapo-sv.com/nodejs-sharp.php

制作にあたっての注意点

どうしてもManifest v5でソケットサーバーサンプルが動いてくれないのでずっと悩んでいたんだが、ネットワーク通信を許可するドメインに127.0.0.1と書いてもバグで動かないという事実をアドビのフォーラムで発見した。これはひどい。allと書くことで動くようになった。

  "requiredPermissions": {
    "network": {
        "domains": "all"
    }
  },

また、リリースされてからずいぶん経っているものの、Manifest v5のサンプルが2023年3月の時点でたぶん一つもない。なので現状Manifest v5で開発するのは地雷を踏んでいる感があるのが分かった。

また、画像のピクセル単位でjsで編集できるimaging_betaモジュールはPhotoshopもベータ版を使わないと動かないことも分かった。いろいろな罠がある。まあベータなので致し方なしだが。

NEXT TODO

ここ最近まとめていた投稿もいろいろ勘違いなどがあったので、コメントを入れたり修正したりしてから制作物は先に進めたい。ソケットサーバはもうpythonにしなくていいかな。。いやpythonにしたいな。。

前の投稿

次の投稿

N/A

Previous post UXP for Photoshop:psjsでノイズフィルター作るサンプルの確認
Next post SubstanceDesigner:簡易ディザ処理