Photoshopでは、選択範囲を指定する数多くの方法が用意されています。選択範囲の幅などを指定するのは簡単ですが、左上と右下を基準にして範囲を選択することはできません。例えば、左から10ピクセル、上から20ピクセルの位置から、右から10ピクセル、下から15ピクセルの範囲を選択する、という機能がありません。これはスクリプトを使えば可能になります。
以下のスクリプトは、左から10ピクセル、上から15ピクセル、右から15ピクセル、下から10ピクセルの範囲を選択するものです。
以下のスクリプトは、左から10ピクセル、上から15ピクセル、右から15ピクセル、下から10ピクセルの範囲を選択するものです。
saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
w = activeDocument.width.value;
h = activeDocument.height.value;
x1 = 10;
y1 = 15;
x2 = w - 15;
y2 = h - 10;
selReg = [[x1,y1],[x2,y1],[x2,y2],[x1,y2]];
activeDocument.selection.select(selReg);
preferences.rulerUnits = saveUnit;
選択範囲を変更したい場合には以下の行の数値部分を変更します。
x1 = 10;
y1 = 15;
x2 = w - 15;
y2 = h - 10;
選択範囲の位置を任意のものにするには以下のスクリプトを使います。これは位置を入力するようになっています。
saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
w = activeDocument.width.value;
h = activeDocument.height.value;
x1 = parseInt(prompt("左からの位置", 10));
y1 = parseInt(prompt("上からの位置", 15));
x2 = w - parseInt(prompt("右からの位置", 15));
y2 = h - parseInt(prompt("下からの位置", 10));
selReg = [[x1,y1],[x2,y1],[x2,y2],[x1,y2]];
activeDocument.selection.select(selReg);
preferences.rulerUnits = saveUnit;
選択範囲を塗りつぶしたいのであれば、以下のスクリプトになります。上記のスクプトで範囲を選択してしまえば、通常のメニューからの選択やアクションで可能ですが、おまけということで。
RGBColor = new SolidColor();
RGBColor.red = 255;
RGBColor.green = 0;
RGBColor.blue = 0;
saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
w = activeDocument.width.value;
h = activeDocument.height.value;
x1 = 10;
y1 = 15;
x2 = w - 15;
y2 = h - 10;
selReg = [[x1,y1],[x2,y1],[x2,y2],[x1,y2]];
activeDocument.selection.select(selReg);
preferences.rulerUnits = saveUnit;
activeDocument.selection.fill(RGBColor,ColorBlendMode.NORMAL, 100, false);
塗りつぶしではなく枠線を描く場合には以下のスクリプトになります。
RGBColor = new SolidColor();
RGBColor.red = 255;
RGBColor.green = 0;
RGBColor.blue = 0;
saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
w = activeDocument.width.value;
h = activeDocument.height.value;
x1 = 10;
y1 = 15;
x2 = w - 15;
y2 = h - 10;
selReg = [[x1,y1],[x2,y1],[x2,y2],[x1,y2]];
activeDocument.selection.select(selReg);
preferences.rulerUnits = saveUnit;
activeDocument.selection.stroke(RGBColor,10,StrokeLocation.CENTER,ColorBlendMode.NORMAL, 100, false);
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
ここのところ、毎日GPS機を持って近所をまわってます。結構、いろいろな用途に使えそう。ガソリン価格が高くなったので、ハイビジョン映像素材はCGネタを追加するようにしました。これだとマシン一台あればできますので。でも、もうHDD容量がほとんどない……
・ハイビジョン映像素材
< http://www.openspc2.org/HDTV/
>
preferences.rulerUnits = Units.PIXELS;
w = activeDocument.width.value;
h = activeDocument.height.value;
x1 = 10;
y1 = 15;
x2 = w - 15;
y2 = h - 10;
selReg = [[x1,y1],[x2,y1],[x2,y2],[x1,y2]];
activeDocument.selection.select(selReg);
preferences.rulerUnits = saveUnit;
選択範囲を変更したい場合には以下の行の数値部分を変更します。
x1 = 10;
y1 = 15;
x2 = w - 15;
y2 = h - 10;
選択範囲の位置を任意のものにするには以下のスクリプトを使います。これは位置を入力するようになっています。
saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
w = activeDocument.width.value;
h = activeDocument.height.value;
x1 = parseInt(prompt("左からの位置", 10));
y1 = parseInt(prompt("上からの位置", 15));
x2 = w - parseInt(prompt("右からの位置", 15));
y2 = h - parseInt(prompt("下からの位置", 10));
selReg = [[x1,y1],[x2,y1],[x2,y2],[x1,y2]];
activeDocument.selection.select(selReg);
preferences.rulerUnits = saveUnit;
選択範囲を塗りつぶしたいのであれば、以下のスクリプトになります。上記のスクプトで範囲を選択してしまえば、通常のメニューからの選択やアクションで可能ですが、おまけということで。
RGBColor = new SolidColor();
RGBColor.red = 255;
RGBColor.green = 0;
RGBColor.blue = 0;
saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
w = activeDocument.width.value;
h = activeDocument.height.value;
x1 = 10;
y1 = 15;
x2 = w - 15;
y2 = h - 10;
selReg = [[x1,y1],[x2,y1],[x2,y2],[x1,y2]];
activeDocument.selection.select(selReg);
preferences.rulerUnits = saveUnit;
activeDocument.selection.fill(RGBColor,ColorBlendMode.NORMAL, 100, false);
塗りつぶしではなく枠線を描く場合には以下のスクリプトになります。
RGBColor = new SolidColor();
RGBColor.red = 255;
RGBColor.green = 0;
RGBColor.blue = 0;
saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
w = activeDocument.width.value;
h = activeDocument.height.value;
x1 = 10;
y1 = 15;
x2 = w - 15;
y2 = h - 10;
selReg = [[x1,y1],[x2,y1],[x2,y2],[x1,y2]];
activeDocument.selection.select(selReg);
preferences.rulerUnits = saveUnit;
activeDocument.selection.stroke(RGBColor,10,StrokeLocation.CENTER,ColorBlendMode.NORMAL, 100, false);
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
ここのところ、毎日GPS機を持って近所をまわってます。結構、いろいろな用途に使えそう。ガソリン価格が高くなったので、ハイビジョン映像素材はCGネタを追加するようにしました。これだとマシン一台あればできますので。でも、もうHDD容量がほとんどない……
・ハイビジョン映像素材
< http://www.openspc2.org/HDTV/
>
- ActionScript逆引きクイックリファレンス―5&MX&MX2004&8対応 for Windows & Macintosh
- 田中 康博 古籏 一浩 林 拓也
- 毎日コミュニケーションズ 2005-12
- おすすめ平均
- Flash(ActionScript)の開発前の調査にも役立ちます
- 良書です。
- 改訂第4版 JavaScript ポケットリファレンス
- 古籏 一浩
- 技術評論社 2006-10-18
- おすすめ平均
- JavaScript仮免者以上の方へ
- バランスの良いバイブル
- 中級者向けです。
by G-Tools , 2008/01/21