Open4
Photosohp UXP
ExtendScriptがデバッグしづらすぎてつらいからUXPで書き直すついでにメモるるるるるスクラップ。
ファイルの読み込み
const fs = require("uxp").storage.localFileSystem;
const pluginFolder = await fs.getPluginFolder();
const theTemplate = await pluginFolder.getEntry("XXX.psd");
top level awaitはできないからasyncで囲む必要がある。
getEntryはpluginFolderを起点としている。あとこの通り
Invalid file path. Path must not contain `../` or `..\` and should not begin with `\` or `/` or `..`
const pluginFolder = await fs.getPluginFolder();
この時いい感じに型は推測してくれてるけど、怪しいので typeof Folder
つけとくと安心
const pluginFolder:typeof Folder = await fs.getPluginFolder();
使っているのは @adobe-uxp-types
revert
APIはないからbatchPlayで実行する。
require("photoshop").action.batchPlay([{
"_obj": "revert"
}], {});
当然activeDocumentに対して実行されるので留意
APIがない操作はだいたいこれでできるっぽい?
executeAsModal
photoshopを操作する(表示が変わる)にはexecuteAsModalが必要
Error: Event: open may modify the state of Photoshop. Such events are only allowed from inside a modal scope
これは何も考えずで囲っちゃえばいいと思う。配布するプラグインならケアした方がいいだろうけど。