Home > JSFL・JSF・JSX | Web | Works > 複数のガイドを一度に引けちゃうJSX

複数のガイドを一度に引けちゃうJSX


PhotoShopでガイドを引く場合

  1. PhotoShopのメニュー>ビュー>新規ガイドを選択して、数値を入力(CS3の場合)
  2. ガイドをドラッグしながら、情報パレットを見ながら位置調整

といった感じでしょうか?

ビュー>新規ガイドを使う場合

PhotoShopで新規ガイド

まぁ、これを使えばいいんですけど…

先にJSFを作ったことなので、調子に乗って、複数のガイドを一度に引けちゃうJSX作ってみました。

一度にx軸方向に複数のガイドを引いてくれるJSX

/*
 * 
 * 一度にx軸方向に複数のガイドを引いてくれるJSX
 * 
 * Copyright (C) 2009 あつのすけ(flabaka)
 * version 1.0.0
 * CreateDate 2009/07/29 
 * 
 * Developed by あつのすけ(flabaka)
 * http://flabaka.com/blog/
 * 
 * (C) 2009 flabaka and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 */
//ダイアログボックスを表示させる

var data = prompt("x軸に複数のガイドを引く","値をカンマで区切ってください");

//カンマを取り除き、配列に入れる

var myarray = data.split(",");

//配列の値を使ってガイドを作成する
for(var i=0;i<myarray.length;i++){
	guide(myarray[i]);
}

function guide( value )
{
var id1 = charIDToTypeID( "Mk  " );
    var desc1 = new ActionDescriptor();
    var id2 = charIDToTypeID( "Nw  " );
        var desc2 = new ActionDescriptor();
        var id3 = charIDToTypeID( "Pstn" );
        var id4 = charIDToTypeID( "#Pxl" );
        desc2.putUnitDouble( id3, id4, value );
        var id5 = charIDToTypeID( "Ornt" );
        var id6 = charIDToTypeID( "Ornt" );
        var id7 = charIDToTypeID( "Vrtc" );
        desc2.putEnumerated( id5, id6, id7 );
    var id8 = charIDToTypeID( "Gd  " );
    desc1.putObject( id2, id8, desc2 );
executeAction( id1, desc1, DialogModes.NO );
}

一度にy軸方向に複数のガイドを引いてくれるJSX

/*
 * 
 * 一度にy軸方向に複数のガイドを引いてくれるJSX
 * 
 * Copyright (C) 2009 あつのすけ(flabaka)
 * version 1.0.0
 * CreateDate 2009/07/29 
 * 
 * Developed by あつのすけ(flabaka)
 * http://flabaka.com/blog/
 * 
 * (C) 2009 flabaka and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 */
//ダイアログボックスを表示させる

var data = prompt("y軸に複数のガイドを引く","値をカンマで区切ってください");

//カンマを取り除き、配列に入れる

var myarray = data.split(",");

//配列の値を使ってガイドを作成する
for(var i=0;i<myarray.length;i++){
	guide(myarray[i]);
}

function guide( value )
{
var id1 = charIDToTypeID( "Mk  " );
    var desc1 = new ActionDescriptor();
    var id2 = charIDToTypeID( "Nw  " );
        var desc2 = new ActionDescriptor();
        var id3 = charIDToTypeID( "Pstn" );
        var id4 = charIDToTypeID( "#Pxl" );
        desc2.putUnitDouble( id3, id4, value );
        var id5 = charIDToTypeID( "Ornt" );
        var id6 = charIDToTypeID( "Ornt" );
        var id7 = charIDToTypeID( "Hrzn" );
        desc2.putEnumerated( id5, id6, id7 );
    var id8 = charIDToTypeID( "Gd  " );
    desc1.putObject( id2, id8, desc2 );
executeAction( id1, desc1, DialogModes.NO );
}

使い方

  1. スクリプトフォルダに入れる
  2. 任意の場所から実行する

スクリプトフォルダに入れる

先のコードをコピペして、.jsxという拡張子で保存して、以下の場所に入れておきます。

XPの場合
C:\Program Files\Adobe\Adobe Photoshop CS3\プリセット\スクリプト

PhotoShopを起動>ファイル>スクリプトから、先のスクリプトを選択します。

スクリプトを実行

JSFの時と同様、(ガイドを引きたい)数値を、カンマ区切りで入力します。

x=50,x=100,x=150,x=200の計4本ガイドを引きたい場合、50,100,150,200と入力し、OKボタンを押します。

ちなみにMacだと、こんな画面になります。

Macの場合

すると、入力した数値の箇所に、ガイドが作成されます。

y軸方向にガイドを引きたい場合も、手順は一緒です。

任意の場所から実行する

プリセット>スクリプトフォルダに入れなくても、実行出来ます。

仮にデスクトップにjsxファイルを置いてあった場合で考えると、PhotShopを起動>ファイル>スクリプト>参照を選択し、デスクトップにあるファイルを選べばOKです。

個人的感想ですが、プリセット>スクリプトのフォルダに入れてしまった方が、楽かなぁ…と思います。

良かったら使ってやってください!

Comments:0

Comment Form
Remember personal info

Trackbacks:2

Trackback URL for this entry
http://flabaka.com/blog/wp-trackback.php?p=1528
Listed below are links to weblogs that reference
複数のガイドを一度に引けちゃうJSX from flabaka
pingback from ステージ枠と中央にガイドを引く.jsx « 乱雑モックアップ 10-04-30 (金) 15:48

[…] flabaka – 複数のガイドを一度に引けちゃうJSX x=50,x=100,x=150,x=200の計4本ガイドを引きたい場合、50,100,150,200と入力し、OKボタンを押します。 […]

pingback from town-house-room-blog » Archive » //tool//..Adobe JavaScript (JSX) 11-05-04 (水) 16:29

[…] 参考URL(サンプル): http://www.libspark.org/wiki/yoshihiko/jsx http://develo.org/2010/06/10/0154.html http://flabaka.com/blog/?p=1528 […]

Home > JSFL・JSF・JSX | Web | Works > 複数のガイドを一度に引けちゃうJSX

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top