Photoshop CS4/CS5編 サブフォルダ内にある全てのQuickTimeムービーのサムネール画像を作成する

今回もPhotoshop CS4以降で動作するスクリプトになります。前回のスクリプトは同一階層にあるQuickTimeムービーのサムネールか、1階層下のフォルダにあるQuickTimeムービーのサムネール作成でした。今回はフォルダ内にある全てのフォルダを調べてQuickTimeムービーがあれば、QuickTimeムービーと同じ階層にサムネール画像を作成します。


// フォルダ内にあるQuickTimeムービーのサムネール画像(JPEG)を作成する
(function(){
var w = 384; // サムネール画像の横幅
var h = 216; // サムネール画像の縦幅
var folderObj = Folder.selectDialog("親フォルダを選択してください");
if (!folderObj) return; // キャンセルされたら処理しない
var saveUnit = preferences.rulerUnits; // 単位設定を保存
preferences.rulerUnits = Units.PIXELS;
getFolder(folderObj);
preferences.rulerUnits = saveUnit; // 元の単位に戻す

// フォルダ内の一覧を取得
function getFolder(folderObj){
var fileList = folderObj.getFiles();
for (var i=0; i<fileList.length; i++){
if (fileList[i].getFiles) {
getFolder(fileList[i]);
}else{
if (fileList[i].name.indexOf(".mov") > -1){ // .movの文字が含まれる場合に処理
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);
}
}
}
}
})();

サムネールのJPEG画像の画質を変更したい場合は

jpegOpt.quality = 8;

の8の数値を変えて下さい。12が最高品質で0が最低品質になります。

[サンプルをダウンロード]