PS_Script - Photoshopでもスクリプト
目次
Photoshopでもスクリプト
お仕事でAEばかりでなくPhotoshopでもスクリプトを書くよー
AEとPS かなりオブジェクトの動作が違うのでライブラリとか兼用しにくい。
ここはメモとか、書いたものの置き場
なんか使えそうなスクリプト
メモ
レイヤの移動
すでに存在するレイヤを移動する方法レイヤのmove()メソッドを使う。
アートレイヤでも、レイヤセットでも同じメソッド
引数ふたつ
Layer.move(移動基点,位置指定オブジェクト)
移動基点は、移動位置を指定する為のオブジェクト
例としては activeDocument,activeDocument.activeLayer とか
レイヤ、またはレイヤのトレーラが指定できるみたいである。
並べ替えスクリプトでは分かりやすい activeDocument.layers[0](一番上のレイヤ)を使ってみた。
位置指定オブジェクトは、エナミュレーテッドタイプオブジェクトになっている。
挿入位置オブジェクト"ElementPlacement"オブジェクトのプロパティ
ElementPlacement.INSIDE | 中 =レイヤセット(トレーラ)の中 | |
ElementPlacement.PLACEATBEGINNING | レイヤコレクション(またはトレーラ)の先頭 | |
ElementPlacement.PLACEATEND | レイヤコレクション(またはトレーラ)の末尾 | |
ElementPlacement.PLACEBEFORE | 基点オブジェクトの前 | |
ElementPlacement.PLACEAFTER | 基点オブジェクトの後 |
全部は試してないけどこんな感じっぽい。
Layers.getByName
BBSにも書いたが、存在するレイヤ名の指定しかできない。存在しないレイヤ名を指定してエラーを検出しようとしたら、CSでは大丈夫だがCS2出はうまくゆかなかった。
GUIのエラーダイアログが出て、スクリプト上でエラー補足ができなかった。
先にレイヤ名を(自前で)総当たりで検査してからアクセスする必要あり。
やな感じ
書きかけのレイヤ名変更パネル
- パタパタプレビューア兼用
- 逆戻りボタン必要(つけた)
- 補助スイッチは後で良さそう
- レイヤのフォーカスは表示に追従させた方が気分が良い感じ(済み)
- 頻繁に表示を切り替えると画面表示が追従できない
- 背景レイヤの選択スイッチはつけた方が良さそう こんなもんかな?
winとmacでかなりGUIの動作が違うがこれはある程度しょうがない。
winではTABでフォーカスを切り替えるときボタンにもフォーカスが入るが、macだとボタンにフォーカスが行かない。しくしく
リターンの検出がもひとつわからん
macのwindowオブジェクト
AEだけかとおもったらPSでもウィンドウの左上端になんか部品が表示されないナゾの領域がある。
見づらいので部品を配置しないように注意
このメモをすっかり忘れて左上にボタンをつけてしまった…反省
CS2以降は、アクティブレイヤが無いことがある
無印CSまでのPhotoshopでは、ドキュメントに必ずアクティブレイヤが存在するが、CS2以降はどうもすべてのレイヤからフォーカスが外れる状態が発生する。これは、複数レイヤを同時に選択できるようになった拡張に伴う仕様変更なので注意!!
- 今までのスクリプトでアクティブレイヤの存在を無条件に期待している部分を見直すこと。
- 複数のアクティブレイヤに対する操作制限を設けること
とほほ
何かご意見・ツッコミなどある方 遠慮なくドゾ
これも凍結 そのうち全部かも
Powered by YukiWiki 2.1.2a / Modified by Nekomataya.