■プログラム説明(ソースコード説明)
ランダムに点を表示するには乱数を使って選択範囲内に枠線を描きます(または塗りつぶし)。点を打つ前に点の色を指定するためSolidColorオブジェクトを作成しRGBで色を指定します。CMYKで指定したい場合にはcyan, magenta, yellow, blackのプロパティに値を入れます。乱数はMath.random()を使って生成します。この命令は0以上1未満の乱数値になるため320倍にして0〜320未満の値にします。縦幅も同様に240倍して座標を決定します。乱数で得た座標値を選択範囲として設定するため配列に座標を入れます。選択範囲は1ピクセルになるように座標を設定します。select()を使って範囲を選択しstroke()で枠線を描いて点を描きます。
---------------------------------------------------------------------------------------------------------
■ソースコード
RGBColor = new SolidColor(); ←カラーオブジェクトを作成します(R=255,G=0,B=0)
RGBColor.red = 255;
RGBColor.green = 0;
RGBColor.blue = 0;
num = 100; ←点を打つ数を指定します
for (i=0; i<num; i++)
{
x1 = Math.floor(Math.random() * 320); ←横幅320ピクセル内での乱数値にします
y1 = Math.floor(Math.random() * 240); ←縦幅240ピクセル内での乱数値にします
selReg = [[x1,y1],[x1+1,y1],[x1+1,y1+1],[x1,y1+1]]; ←1ピクセルの選択範囲を設定します
activeDocument.selection.select(selReg);
activeDocument.selection.stroke(RGBColor, 1, StrokeLocation.INSIDE, ColorBlendMode.NORMAL, 100, false); ←線を描いて点を表示します
}
---------------------------------------------------------------------------------------------------------
■使い方
1:ファイルメニューからスクリプトを実行します。
2:320x240ピクセル範囲内に赤い点が100表示されます。
---------------------------------------------------------------------------------------------------------
■ポイント
Math.random()で指定範囲内の乱数値(整数)を求めるには以下の書式になります。
Math.floor(Math.random() * 最大値)
これで0から最大値-1の乱数値を得ることができます。
ドキュメント全体の横幅、縦幅の範囲にする場合には以下のようになります。activeDocument.width、activeDocument.heightで幅を取得した場合に320 pxのように単位付きになります。この単位を消すにはparseInt()またはparseFloat()を使います。
RGBColor = new SolidColor();
RGBColor.red = 255;
RGBColor.green = 0;
RGBColor.blue = 0;
num = 100;
w = activeDocument.width;
h = activeDocument.height;
w = parseInt(w);
h = parseInt(h);
for (i=0; i<num; i++)
{
x1 = Math.floor(Math.random() * w);
y1 = Math.floor(Math.random() * h);
selReg = [[x1,y1],[x1+1,y1],[x1+1,y1+1],[x1,y1+1]];
activeDocument.selection.select(selReg);
activeDocument.selection.stroke(RGBColor, 1, StrokeLocation.INSIDE, ColorBlendMode.NORMAL, 100, false);
}
---------------------------------------------------------------------------------------------------------
■注意
なし
■実際のスクリプトをダウンロード(sample.js.zip)