このページの本文へ

前へ 1 2 3 4 次へ

  • twitterでつぶやく
  • はてなブックマークに登録
  • del.icio.usに登録
  • livedoorクリップに登録
  • Buzzurlに登録
  • StumbleUponに登録
  • Google Bookmarksに登録
  • Facebookでシェア
  • Yahoo!ブックマークに登録
  • お気に入りに登録
  • 本文印刷

古籏一浩のJavaScriptラボ ― 第24回

JavaScriptでRSSからPhotoshop画像を生成!

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

文● 古籏一浩

※この記事は「古籏一浩のJavaScriptラボ」の第24回です。過去の記事も合わせてご覧ください。

Adobe Bridge

 Adobe Creative Suiteの「Adobe Bridge」は、JavaScriptを使ってさまざまな画像処理を自動化できます。前回はサーバーからRSSファイルを取得する方法を解説しました。今回は、BridgeからPhotoshopを操作し、サーバーから取得したRSSを元に画像を作成する処理を作成します。BridgeのJavaScriptは、単純にBridgeからPhotoshopのスクリプトを実行するだけでなく、Photoshopからの戻り値を受け取れます。つまり、Bridge←→Photoshop間でデータをやり取りできるのです。

■シリーズラインナップ


BridgeとPhotoshopでデータをやり取りする

 BridgeとPhotoshopなどのアドビ製アプリケーションと通信するには、「Bridge Talk」という機能を使います。Bridge Talkは専用のオブジェクトをnew BridgeTalk()で作成して使用します。

 BridgeTalkオブジェクトを生成したらtargetプロパティに実行したいアプリケーション名を指定します。Bridgeのスクリプトの1行目に記述する#target(関連記事)と同じように、Photoshopなら「Photoshop」、Illustratorなら「Illustrator」のように指定します。また、「Photoshop-10」のようにバージョンも指定できます。

 ターゲットを設定したら実行したいスクリプトをbodyプロパティに設定します。簡単な例として、Photoshopで320×240サイズ(単位を指定していないので320cm×240cmサイズのキャンバスが作成される場合もあります)の新規ドキュメントを作成してみましょう。Photoshopで新規ドキュメントを作成するには、以下のようにapp.documents.add()とします。作成するドキュメントの横幅、縦幅を引数に指定します。


app.documents.add(320, 240)


 このスクリプトを文字列としてBridge Talkオブジェクトのbodyプロパティに入れます。あとはsend()メソッドを呼び出すと、Photoshop上でスクリプトが実行されます。サンプル01を実行するとPhotoshopで新規にドキュメントが作成されます。

Photoshopで新規にドキュメントが作成されます
Photoshopで新規にドキュメントが作成されます

●サンプル01


#target "Bridge"
var bt = new BridgeTalk();
bt.target = "Photoshop";
bt.body = "app.documents.add(320, 240)";
bt.send();


 サンプル01のように、Bridgeのスクリプト内にPhotoshopのスクリプトを直接書くと、プログラムにバグがあるときに、原因がBridgeなのかPhotoshopなのか特定しにくいなど、いろいろ不都合があります。そこで、Photoshopのスクリプトは別のファイルとして保存しておき、Bridgeのスクリプトから呼び出す方法を採りましょう。以後は、Photoshopで実行するスクリプトファイルが、ユーザーのホームフォルダ内にあるものとします。

 サンプル01のPhotoshopのスクリプト部分を「ps_newdoc.jsx」として保存したものを実行するには、サンプル02のようにファイルとして読み込み、bodyプロパティに入れます。BridgeのスクリプトからPhotoshopのスクリプトを呼び出す方法にしておけば、PhotoshopのスクリプトはPhotoshop上で動作テストができるのでスクリプトの作成も楽になります。また、既存のスクリプトファイルも流用できます。

 ここまでは、BridgeからPhotoshopへの一方通行でした。次に、PhotoshopからBridgeにデータを受け渡してみましょう。


●サンプル02


#target "Bridge"
var bt = new BridgeTalk();
bt.target = "Photoshop";
var fileObj = new File("~/ps_newdoc.jsx");
var flag = fileObj.open("r");
if (flag){
    bt.body = fileObj.read();
}
bt.send();



●サンプル03


app.documents.add(320, 240);


前へ 1 2 3 4 次へ

この連載の記事

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く

みんなが買ってる最新アイテムはコレだ!

VOCALOID3 スターターIA ARIA ON THE PLANETES

VOCALOID3 スターターIA ARIA ON THE PLANETES

ヤマハ

17,745円〜

24人が購入

標準HTML5タグリファレンス (WEB PROFESSIONAL)

標準HTML5タグリファレンス (WEB PROFESSIONAL)

アスキー・メディアワークス

2,205円〜

70人が購入

Google上位表示 64の法則 (WEB PROFESSIONAL)

Google上位表示 64の法則 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

69人が購入

Speck MacBook Air 13型 See Thru - Clear SPK-MBA13-SEE-CLR

Speck MacBook Air 13型 See Thru - Clear SPK-MBA13-SEE-CLR

スペックコンピュータ

4,262円〜

21人が購入

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

38人が購入

メモリーカード 32GB (PCH-Z321J)

メモリーカード 32GB (PCH-Z321J)

ソニー・コンピュータエンタテインメント

7,772円〜

9人が購入

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

マイクロソリューション Micro Solution Inc.

60人が購入

Amazon.co.jp