Photoshop CS3〜6編 100枚の画像のサムネールを作成し1枚にまとめる

今回はフォルダ内にある100枚のJPEG画像のサムネールを作成し、1枚にまとめるスクリプトです。実際のサンプルとしては以下の画像になります。

http://footage3.openspc2.org/sozai/manga/castle/nagano/matsumoto/20120311-1.jpg

サムネール画像のサイズは64×64で、それらが縦横10×10枚並びます。ちなみに、漫画/アニメ用の背景用資料として撮影してきたものをまとめてわかりやすくするために作成したスクリプトです。

●漫画/アニメ背景用資料写真
http://footage3.openspc2.org/sozai/manga/

写真はカシオのデジカメEX-ZR100のアート風にしてくれる機能(HDR ART)を利用して撮影しています。

●EX-ZR100
http://casio.jp/dc/products/ex_zr100/

漫画を作成するソフトであるコミPo!であれば、これらの素材を読み込んで利用できますし、さらに漫画っぽい背景にする機能を使えばキャラクタとなじむと思います。


(function(){
var folder = Folder.selectDialog("フォルダを選択してください");
if (!folder){ return; }
var saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
var docObj = documents.add(640, 640);
var fileList = folder.getFiles("*.jpg"); // JPEGのみ処理
var count = 0; // 参照するファイルの位置を示す
for(var y=0; y<10; y++){
for(var x=0; x<10; x++){
app.open(fileList[count]);
app.activeDocument.resizeCanvas(3648+30, 3648+30, AnchorPosition.MIDDLECENTER);
app.activeDocument.resizeImage(64, 64); // 64x64サイズに画像を縮小
app.activeDocument.selection.selectAll(); // 全てを選択
app.activeDocument.selection.copy(); // コピー
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
var selReg = [ [x*64, y*64],
[x*64+64, y*64],
[x*64+64, y*64+64],
[x*64, y*64+64],
[x*64, y*64]];
docObj.selection.select(selReg);
docObj.paste(true);
docObj.selection.deselect();
docObj.flatten();
count++;
if (count >= fileList.length){
preferences.rulerUnits = saveUnit;
return;
}
}
}
preferences.rulerUnits = saveUnit;
})();

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