クリエイター手抜きプロジェクト[257]Photoshop CS4編 フォルダ内にあるQuickTimeムービーのサムネール画像を作成する/古籏一浩

投稿:  著者:  読了時間:7分(本文:約3,300文字)


今回は、Photoshop CS4以降で動作するスクリプトです。CS3は直接QuickTimeムービーを開くことができないためです。

まず最初のスクリプトは、フォルダ内に複数あるQuickTimeムービーのサムネール画像(JPEG形式)を作成し、同じフォルダ内に保存するものです。このようなフラットな階層にすべてのQuickTimeムービーがある場合は、無理してスクリプトを使わなくても、アクション&バッチ処理でも可能です。



// フォルダ内にあるQuickTimeムービーのサムネール画像(JPEG)を作成する
(function(){
var w = 384; // サムネール画像の横幅
var h = 216; // サムネール画像の縦幅
var folderObj = Folder.selectDialog("QuickTimeムービーがあるフォルダを選択してください");
if (!folderObj) return;
var saveUnit = preferences.rulerUnits; // 単位設定を保存
preferences.rulerUnits = Units.PIXELS;
var fileList = folderObj.getFiles("*.mov");
for(var i=0; i<fileList.length; i++){
app.open(fileList[i]);
app.activeDocument.resizeImage(w, h); // サムネール画像のサイズ
var fileObj = new File(fileList[i].path + "/"+ fileList[i].name.split(".mov")[0]+".jpg");
var jpegOpt = new JPEGSaveOptions();
jpegOpt.embedColorProfile = true;
jpegOpt.quality = 8;
jpegOpt.formatOptions = FormatOptions.PROGRESSIVE;
jpegOpt.scans = 3;
jpegOpt.matte = MatteType.NONE;
app.activeDocument.saveAs(fileObj, jpegOpt, true, Extension.LOWERCASE);
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
preferences.rulerUnits = saveUnit; // 元の単位に戻す
})();


QuickTimeムービーが、以下のようなフォルダ内にある場合には、バッチ処理
よりもスクリプトの方が便利です。

[フォルダ]
 ├[フォルダ]
 │└QuickTimeムービー1
 ├[フォルダ]
 │└QuickTimeムービー2
 └[フォルダ]
  └QuickTimeムービー3


// フォルダ内にあるQuickTimeムービーのサムネール画像(JPEG)を作成する(2)
(function(){
var w = 384; // サムネール画像の横幅
var h = 216; // サムネール画像の縦幅
var parentFolderObj = Folder.selectDialog("QuickTimeムービーのフォルダがある親フォルダを選択してください");
if (!parentFolderObj) return;
var saveUnit = preferences.rulerUnits; // 単位設定を保存
preferences.rulerUnits = Units.PIXELS;
var folderList = parentFolderObj.getFiles(); // 全てのファイル/フォルダ情報を取得
for(var j=0; j<folderList.length; j++){
if (folderList[j].getFiles){ // フォルダの場合
var fileList = folderList[j].getFiles("*.mov");
for(var i=0; i<fileList.length; i++){
app.open(fileList[i]);
app.activeDocument.resizeImage(w, h); // サムネール画像のサイズ
var fileObj = new File(fileList[i].path + "/"+ fileList[i].name.split(".mov")[0]+".jpg");
var jpegOpt = new JPEGSaveOptions();
jpegOpt.embedColorProfile = true;
jpegOpt.quality = 8;
jpegOpt.formatOptions = FormatOptions.PROGRESSIVE;
jpegOpt.scans = 3;
jpegOpt.matte = MatteType.NONE;
app.activeDocument.saveAs(fileObj, jpegOpt, true, Extension.LOWERCASE);
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
}
}
preferences.rulerUnits = saveUnit; // 元の単位に戻す
})();


サムネール画像のサイズはスクリプトの先頭部分にある

var w = 384; // サムネール画像の横幅
var h = 216; // サムネール画像の縦幅

の値を変更してください。値の単位はピクセルになっています。


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

尖閣諸島のビデオ流出がネタになっていましたが、このデジクリがでる月曜日にはどういう展開になっているのでしょう。ということで、時事ネタゲームを作ってみました。官房長官になって、Y○uTubeにビデオがアップロードされないように法律ビームで撃ちまくってください。さりげなくCSS3グラデーションとTransform機能(回転)を使ってたりします(回転はAnimationでなくJavaScriptでCSS Transformプロパティを直接操作)。短いコードなので好きに改造して配布してもOKです。

・官房長官になって流出映像を止めろ!ゲーム
< http://www.openspc2.org/Game/Sengoku/ >

・Google API Expertが解説するHTML5ガイドブック【発売中】
< http://www.amazon.co.jp/dp/4844329278 >

・プロならば知っておくべきWebコーディング&デザインの定石100【発売中】
< http://www.amazon.co.jp/dp/4844361538 >

・『HTML5技術動向調査報告書2011』【発売中】
  -次世代ウェブを創る標準技術の全容とベンダーの取り組み-
< http://www.impressrd.jp/news/101028/HTML5 >

・逆引きGoogle Maps APIリファレンス ver 3
< http://www.openspc2.org/reibun/Google/Maps/API/ver3/ >

・ハイビジョン映像素材集(いろいろ追加)
< http://www.openspc2.org/HDTV/ >

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集 発売中
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/ >

毎度おなじみASCII.jpの連載もよろしく
・Audio Data APIでブラウザーをシーケンサーに!
< http://ascii.jp/elem/000/000/566/566836/ >