■ スクリプトひとめぐり
■ 実行する
任意の場所の js スクリプトを Photoshopで実行する。
よく使うスクリプトは プリセットフォルダにいれておくとリストされるので便利。
C:\Program Files\Adobe\Adobe Photoshop CS5\Presets\Scripts
プリセットディレクトリに入れておくと、以下のメニューからすぐに実行できる。
■ Debug(デバッグ)
「読み込み」をクリックする時にAltキーを押しているとスクリプト実行時にデバッグダイアログが開く。
■ クラス
POINT
PhotoShop はオブジェクトモデルで設計されている。
レイヤーを操作したい場合はレイヤーオブジェクトの参照をとってから、
プロパティ、メソッドをコールする。
var l = activeDocument.activeLayer;
l.name = "test";
l.copy();
■ application.アプリケーション
PhotoShop アプリケーションをあらわすクラス
■ Document(ドキュメント)
ドキュメント全体をあらわすクラス。
内部にレイヤーの集合やファイルパスなどの情報をもつ。
■ property
参照をとる
var doc = activeDocument;
// 名前引きする。
var doc = documents[ "test" ];
■ method
// 保存する
doc.save();
// 別名保存する
doc.saveAs();
//
doc.rotate();
// 解像度の変更
doc.resizeImage( 128, 128,
)
// 切り抜きをする。
doc.crop( [ 0, 0, 100, 100] );
// 閉じる
doc.close();
activeDocument.resizeImage( // サイズの変更
newW, // 横幅
newH, // 高さ
pasteDoc.resolution, // 解像度
ResampleMethod.BICUBIC ); // 縮小形式
// サイズの変更
doc.resizeCanvas(3648+30, 3648+30, AnchorPosition.MIDDLECENTER);
■ Layer(レイヤー)
生成する。
l = activeDocument.artLayers.add();
// 破棄する
l.remove();
参照をとる
// 選択中のレイヤー
var l = activeDocument.activeLayer;
// 0番目( レイヤーパレット(スタック)の最上段 )のレイヤー
var l = activeDocument.layerSets[ 0 ];
// 名前引きをする
var l = activeDocument.layerSets[ "背景" ];
l.name = "test";
// 透明度
l.opacity = 50;
// 表示の ON/OFF
l.visible = true;
// BoudingBox の値 [ 左上, 右下 ]
var a = l.bounds;
// ロック設定
l.allLocked = true;
l.pixelsLocked = true;
l.positionLocked = true;
l.transparentPixelsLocked = true;
// リンクをする
l.link( layerObj );
l.unlink();
// 移動する
l.translate( 10, 10 );
// 90度回転する
l.rotate( 90 );
// レイヤーを追加する。
l = activeDocument.artLayers.add();
// レイヤーセット内にレイヤーを作成する
laySetObj = activeDocument.layerSets.add();
layObj = laySetObj.artLayers.add();
レイヤーセット内にさらにレイヤーセットを作成する
laySetObj = activeDocument.layerSets.add();
laySetObj2 = laySetObj.layerSets.add();
layObj = laySetObj2.artLayers.add();
■ Channel.チャンネル
var ch = activeDocument.channels[ 4 ];
ch.remove();
■ selection.選択範囲
var sel = activeDocument.selection;
sel.deselect();
// レイヤー全体を選択
sel.selectAll()
■ チュートリアル
■ ファイルを開く
var fp = new File( "d:/test.psd" );
open( fp );
activeDocument.close( SaveOptions.DONOTSAVECHANGES );
■ すべてのファイルを閉じる
while (documents.length > 0)
{
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
■ レイヤー操作
var l = activeDocument.activeLayer;
activeDocument.add();
l.move();
// 削除する
l.remove();
■ 選択
■ ドキュメント
// レイヤーを選択
activeDocument.activeLayer = doc.artLayers[ 0 ];
■ 選択範囲
// 全てを選択 ( c-a )
activeDocument.selection.selectAll();
// 選択解除
doc.selection.deselect();
■ GUI
POINT
Window クラスを生成して 各GUI部品を追加することでダイアログを生成する。
WARNING
モードレスウィンドウはスクリプトからは生成できない。
■ モーダルダイアログ
var uDlg = new Window('dialog','タイプを選択してください',[200,100,580,245]);
uDlg.okBtn = uDlg.add("button",[130,80,225,80+25], "OK", { name:"ok"});
uDlg.rBtn1 = uDlg.add("radiobutton",[100,10,275,10+30], "CMYKで保存する");
uDlg.rBtn2 = uDlg.add("radiobutton",[100,40,275,30+30], "グレースケールで保存する");
// show() をコールすると ダイアログウィンドウが生成される。
uDlg.show();
■ モードレスダイアログ(pallet)
POINT
カスタムのツールパレットを作成するには configurator というGUIビルダーを使って作成する。
http://labs.adobe.com/technologies/configurator/
以下のコマンドでダウンロードできる。
REFERENCE wget
wget http://labsdownload.adobe.com/pub/labs/configurator/configurator3-1-1_p1_win_092512.zip
■ CustomBrush.カスタムブラシ
Edit > Define Brush Preset
WARNING
PS6 は サイズの変更ができない。
つまり 定義した時点のサイズとなる。
Spaceing ( 間隔 )
■ FillOpacity
REF
http://www.photoshopstar.com/text-effects/gauzy-text-effect/
■ Transform
Edit > Transform > Warp
■ 選択範囲からパス生成
■ StrokePath