Photoshop CS5編 ガイドを作成する

今回はPhotoshop CS5でガイドを作成するものです。CS5からはガイドをJavaScriptから操作することができるようになっています。
まず、表示されているドキュメントのセンターガイド(縦横)を作成するスクリプトです。実行するだけで自動的にセンターガイドが作成されます。


// センターガイド
(function(){
var w = app.activeDocument.width;
var h = app.activeDocument.height;
app.activeDocument.guides.add(Direction.HORIZONTAL, w/2);
app.activeDocument.guides.add(Direction.VERTICAL, h/2);
})();

次に指定した間隔でグリッドを作成するスクリプトです。

// 等間隔ガイド
(function(){
// 単位を保存しPixelに設定する
var saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
var dx = prompt("横の間隔を入れてください(単位はピクセル)", "32");
if (!dx){ return; }
var dy = prompt("縦の間隔を入れてください(単位はピクセル)", "16");
if (!dy){ return; }
dx = parseFloat(dx);
dy = parseFloat(dy);
var w = app.activeDocument.width;
var h = app.activeDocument.height;
for(var x=0; x<=w; x+=dx){
app.activeDocument.guides.add(Direction.VERTICAL, x+"px");
}
for(var y=0; y<=h; y+=dy){
app.activeDocument.guides.add(Direction.HORIZONTAL, y+"px");
}
})();

最後が対数(片対数)ガイドを作成するスクリプトです。

// 対数ガイド
(function(){
// 単位を保存しPixelに設定する
var saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
var stepY = 0.05;
var maxY = 8; // 10の8乗までを描く
var baseY = 100; // 1ブロックの縦幅(倍率)
var h = parseInt(app.activeDocument.height);
for(var i=0; i<maxY; i++){
for(var n=0; n<1; n+=stepY){
var y = log10(n) * baseY + baseY*i;
app.activeDocument.guides.add(Direction.HORIZONTAL, h-(baseY+y)+"px");
if (h-(baseY+y) < 0){ return; }
}
}
function log10(x) { return Math.LOG10E * Math.log(x); }
})();

目盛りの細かさは以下の値で設定できます。小さくすると細かい目盛りになります。

var stepY = 0.05;

1ブロックの縦幅は以下の値を変更してください。

var baseY = 100;

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