タグ:script 一覧
csInterface.evalScriptメソッドでパネルからjsx側とやりとりできるのは前回述べた通り。しかし前回はmanifest.xmlに登録しているjsxとのやりとりのみである。その他複数のjsxとパネル側からやりとりする場合はどうすれば良いのか。実はjsxまでのパスを指定すれば個別のjsxとのやりとりが可能である。具体的には前回と同じcsInterface.evalScriptの引数に$.evalFileとjsxまでのパスをしてすれば実行できる。 $.evalFile引数の中にさらにjsxパスの引数を入れつつクオートで挟まないといけないのでECMA2015m以前だとテンプレート文字
Read more
Extensionのパネルは一度閉じるとパネル上の進捗データ等を一度リセットしてしまいます。(フォームを操作した後の結果等)もちろんデータベースやjsonに結果を記録して立ち上げる時に前回の操作内容を記録するという事もできますがそこまでする程の内容ではない時は persistenceという機能があるので見てます。このpersistenceをonにするとパネルを閉じた時の内容をPhotoshop自体が終了するまで一時的に保管してくれるので短時間に何度もフォーム操作が必要なパネル等に使用するといいでしょう。以下コードになります。 CSEvent からインスタンスを作成。extensionのidをc
Read more
前回jsxからincludeで外部jsonを読み込みましたがパネルとの連携時はinclude自体がエラーになってjsxからの読み込みができなくなってしまいます。jsx単独の開発でしたらいくつかのよく使う関数やオブジェクトを外部scriptとして読み込んでコードを見やすくする事が可能ですがExtension開発時にはそれができません。jsx自体の処理をいくつかのファイルに分けて処理事に呼び出すjsxを変える事も可能ですがやはりメインのjsx自体のコードは長くなりがちになってしまします。前回の続きに戻りますが前回jsonの扱いをincludeで読み込んでパースしましたがパネルとの連携時はどうやって
Read more
今回jsx側のデバッグについて説明します。まずhtmlパネル側からjsxを呼びましょう。デフォルトで呼び出すメソッドが用意されています。 csInterface.evalScript(“sayHello()”); csInterfaceのevalScriptメソッドでmanifest.xmlで登録したjsx内の関数を呼び出せます(この場合sayHello関数)。 function sayHello(){ $.writeln(“test_…check”); alert(“hello from ExtendScript”); } sayHello関数の中にwritelnメソッド(console
Read more
デバッグの方法に入ります。.debugというファイルがフォルダの中にあると思います。 各種ソフトウェアのコメントの下にhost nemとport番号が書いてあります。Extension立ち上げ後、各種ソフトウェアに対応したport番号にアクセスする事でコンソールやエラーの内容を確認できます。 Photoshopの場合ブラウザでlocalhost:8088にアクセスしますとデバッグをブラウザ経由でできます。 console.logの出力も このように出力されました。通常のwebsiteを作成するようにcssの確認もブラウザでできます。リロードは一度Extensionパネルを閉じた後にもう一度パネ
Read more
一通り環境設定の説明も終わったのでCSS関係の解説もしたいと思います。まずthemeManagerから。 themeManager.jsがデフォルトでjsフォルダに入っていると思います。 csinterfaceと共にthemeManager.init関数がデフォルトで呼び出されているはずです。このデフォルトの状態でPhotoshopの環境設定カラーを変えてみます。 環境設定のウインドウカラーに合わせてカラーが変わりました。特に何も意図がなければtopcoat等のCSSライブラリをそのまま使うと周りのウインドウに合ったデザインパネルをそのまま使用できるのでオススメです。今後Extensionの開
Read more
過去に仕事で大量の写真画像を加工していたので効率化のためjavascriptでPhotoshop用のExtensionやscriptを開発していました。開発していたExtensionはAdobe add on にて申請、発表しています。それでExtensionとは何ぞやという話なのでscriptがPhotoshopをjavascript等の言語で動かすファイルそのものを指しているのに対してExtensionはscriptを動かすためのフォーム要素の様なインターフェイスパネルも作成してよりユーザーが柔軟にscriptを動かせる様に開発出来るのがExtensionです。(他にも色々違いはありますが
Read more