クリエイター手抜きプロジェクト[154]Photoshop CS/CS2/CS3編 左上と右下を基準にして範囲を選択する/古籏一浩

投稿:  著者:  読了時間:6分(本文:約2,500文字)


Photoshopでは、選択範囲を指定する数多くの方法が用意されています。選択範囲の幅などを指定するのは簡単ですが、左上と右下を基準にして範囲を選択することはできません。例えば、左から10ピクセル、上から20ピクセルの位置から、右から10ピクセル、下から15ピクセルの範囲を選択する、という機能がありません。これはスクリプトを使えば可能になります。

以下のスクリプトは、左から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/ >



photo
ActionScript逆引きクイックリファレンス―5&MX&MX2004&8対応 for Windows & Macintosh
田中 康博 古籏 一浩 林 拓也
毎日コミュニケーションズ 2005-12
おすすめ平均 star
starFlash(ActionScript)の開発前の調査にも役立ちます
star良書です。

Flash逆引きクイックリファレンス 8&MX2004対応for Windows & Macintosh Flash Hacks―プロが教えるテクニック&ツール100選 速習Webテクニック FLASH8 ActionScript 実例サンプル47 (Quick master of web technique) おしえて!!FLASH 8 ActionScript (毎コミおしえて!!シリーズ) 有名クリエイターがこっそり教えるFlash作成のウラ技



photo
改訂第4版 JavaScript ポケットリファレンス
古籏 一浩
技術評論社 2006-10-18
おすすめ平均 star
starJavaScript仮免者以上の方へ
starバランスの良いバイブル
star中級者向けです。

改訂新版 SQLポケットリファレンス (Pocket reference) [改訂版] PHP ポケットリファレンス (Pocket reference) 基礎 Ajax + JavaScript 標準DOMスクリプティング JavaScript+DOMによるWebアプリデザインの基礎 改訂第5版 オールカラー  HTML ポケットリファレンス (POCKET REFERENCE)

by G-Tools , 2008/01/21