クリエイター手抜きプロジェクト[293]Adobe Photoshop CS3/CS4/CS5編 テキストファイル内の文字を配置しPSDで保存する/古籏一浩

投稿:  著者:  読了時間:5分(本文:約2,100文字)


懲りずに今回も、テキストファイルを読み込みDVDなど映像のテロップ(字幕)で使用する、PSDファイルを生成するスクリプトです。ただし、これまでとは違い、連番ファイルではなくひとつのPSDファイルで保存します。

実行する前に注意事項があります。それは、テキストレイヤーが増えると急速に処理速度が低下することです。テキストレイヤーの数が100くらいだと、MacPro(2x2.26 Quad-Core Xeon)で45秒ほどかかります。より高速に処理するには、Photoshopを前面でなく背面に隠すようにすると、MacOS Xの場合は2倍ほど処理が速くなります。



// テキストファイル内の文字を連続配置し1つのPSDファイルとして保存する
(function(){
var psdFile = File.openDialog("基本となるPSDファイルを選択してください","*.psd");
if (!psdFile){ return; } // キャンセルされたら何もしない
var textFile = File.openDialog("配置するテキストファイルを選択してください","*.txt");
if (!textFile){ return; } // キャンセルされたら何もしない
var saveFile = File.saveDialog("保存するPSDファイル名を入力してください");
if (!saveFile){ return; } // キャンセルされたら何もしない
// PSD形式保存オプション
psdOpt = new PhotoshopSaveOptions();
psdOpt.alphaChannels = true;
psdOpt.annotations = true;
psdOpt.embedColorProfile = true;
psdOpt.layers = true;
psdOpt.spotColors = true;
var flag = textFile.open("r");
if (!flag){
alert("ファイルが読み込めません");
return;
}
app.open(psdFile);
var s = (new Date()).getTime();
while(!textFile.eof){
var text = textFile.readln(); // 1行読み込む
var layObj = app.activeDocument.layers[0]; // 一番上のレイヤーを複製
layObj.textItem.contents = text;
layObj.duplicate();
}
layObj.remove();
var e = (new Date()).getTime();
$.writeln((e-s)/1000+"秒かかりました");
activeDocument.saveAs(saveFile, psdOpt, true, Extension.LOWERCASE);
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
})();



【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/ >

無料→有料と書くと、グリーとかモバゲーとかのゲームっぽいけど、Google Mapsもついに有料化。Styled Mapsなど特別な機能を使ったりするとお金がかかる仕組みです。調べていたら「API破産」なんて言葉もありました。次は「TPP破産」。

・jQuery Mobile 1.0RC2例文辞典
< http://www.openspc2.org/reibun/jQuery_Mobile/1.0RC2/ >

・CSS3(スタイルシート Level 3)例文辞典
< http://www.openspc2.org/reibun/CSS3/ >

・改訂5版JavaScriptポケットリファレンス
< http://www.amazon.co.jp/dp/4774148199 >

・10日で覚えるHTML5入門教室
< http://www.amazon.co.jp/dp/4798124184 >

・毎度おなじみASCII.jpの連載
「第11回 Capture APIでiPhone用ビデオレコーダーを作ろう」
< http://ascii.jp/elem/000/000/643/643812/ >

・iPhone/iPad × HTML5アプリ制作
< http://www.amazon.co.jp/dp/4797362618 >
< http://bookpub.jp/books/bp/196 >

・ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/ >

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/ >
吉田印刷所の「印刷の泉」でも購入できるようになりました。