このページの本文へ

JavaScriptでRSSからPhotoshop画像を生成! (2/4)

2010年02月03日 11時00分更新

文●古籏一浩

  • この記事をはてなブックマークに追加
本文印刷

Photoshopから送られたデータをBridgeで受け取る

 PhotoshopのスクリプトからBridgeにデータを渡すには、どのようにしたらよいのでしょうか。PhotoshopにはBridge Talkのためのオブジェクトやメソッドがありませんので、appオブジェクトのbodyプロパティにBridgeへ渡したい文字列を入れます。

 ただし、app.bodyに入れただけではBridge側で受け取れませんので、データをBridgeで受け取るためのイベントハンドラを設定しておきます。Bridge Talkから呼び出されたスクリプトが終了するとResultイベントが発生しますので、Bridge TalkオブジェクトのonResultプロパティにイベント発生時に実行する関数(イベントハンドラ)を指定してResultイベントを捕捉します。

 関数にはオブジェクトが引数として渡されます。オブジェクトのbodyプロパティにPhotoshopから渡された文字列が入っていますので、あとは渡された文字列を解析すればいいのです。

 サンプル04は、BridgeからPhotoshopのスクリプトを呼び出し、入力された名前をBridge側で受け取ってアラートダイアログに表示します。

Photoshopで名前を入れると...

Photoshopで名前を入れると...

Bridgeに渡されBridgeのアラートダイアログに名前が表示されます

Bridgeに渡されBridgeのアラートダイアログに名前が表示されます


●サンプル04


#target "Bridge"
var bt = new BridgeTalk();
bt.target = "Photoshop";
var fileObj = new File("~/ps_prompt.jsx");
var flag = fileObj.open("r");
if (flag){
    bt.body = fileObj.read();
}
bt.onResult = function(returnBtObj){ 
    alert("PSで入力された名前:"+returnBtObj.body);
}
bt.send();



●サンプル05


app.body=prompt("名前をいれてください", "小橋川");


この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています