見出し画像

【PhotoshopScript】ガイドを引く

公式ドキュメントに当たってみる

Guideで検索してみると、Documentオブジェクトの中にguidesプロパティがあって、Guidesオブジェクトが入っているそうな。わーんReadOnly、とは思いながらもGuidesオブジェクトの詳細を見に行くとAddメソッドがありました。よしこれだ。

Guides.add()の仕様を確認

引数は2つ、directionとcoordinate。

第一引数のdirectionは方向で、Directionを渡せと書いてある。
Directionについて見てみると、ScriptingConstants=あらかじめ定義されてる定数で、HORIZONTAL(水平)とVERTICAL(垂直)の二種類が用意されています。
こういう時は Direction.HORIZONTAL のように 指定してあげればOK 

第二引数のcoordinate(座標)の方はウワー、でたー、UnitValueだー
ということでこちらの記事をご覧ください。

ざっくり言うと

myUnitValue = new UnitValue(400, "px");

こう。数字そのままをcoordinateとして渡すとよくないので、UnitValue型のオブジェクトを用意して、数字と単位を設定したものを渡してあげます。

ガイドを引くぞー

Guidesオブジェクトの説明を読むと「Documentオブジェクトのguidesプロパティを経由してアクセスせよ」とあるので、

var target_document = app.activeDocument
var guides = target_document.guides

でGuidesを取得。

今回は「ドキュメントの真ん中に、垂直なガイド」が欲しいので、ドキュメントの幅を取得して、2で割って真ん中を取得します。

    var document_width = target_document.width
    var center_x = document_width / 2

ところで、document.widthは噂のUnitValue形式で取得できます。
デバッグモードで変数の中身を見てみたら、四則計算できそうな感じのメソッドがあったので割り算してみたら割れました。
これでUnitValue形式取れたんでこのままcoordinateとして渡せますねやったー。
「端から10px」とか自分で決めたいときはUnitValue自分で作ってね

で、guidesオブジェクトと座標が決まったら、あとはDirectionを指定して

guides.add(Direction.VERTICAL, center_x)

どん。

これで任意の位置にガイドを引くことができました。やったー。

この記事が気に入ったらサポートをしてみませんか?