PhotoshopのJavaScript拡張の話。
以前にレイヤー名を置換するスクリプトを書いていましたが、やはり不便だと思った時にささっとスクリプトを書くといい感じにものができあがるなぁと思ったりします。
→Photoshopでレイヤー名を置換するJSX – spiffieldLabs
今回はあるレイヤーにある画像をWeb用に保存したい場合の話。
おそらくスクリプトを使わなくても以下のようにすればできます。
- 対象のレイヤーを選択
- 右クリックして「レイヤーを複製」
- 表示されるダイアログで「ドキュメント」→「新規」
- Ctrlを押しながらレイヤーの内容部分をクリックして選択
- 上のメニュー「イメージ」→切り抜き
- Ctrl+Alt+Shift+S→Web用に保存
昔は「レイヤーを複製」の対象に「新規ドキュメント」なんてなかったと思うんですが、いつからかできます。
で、まあ数ステップあるので面倒です。以前はこちらのFlashDeveloper用スクリプトを使っていたのですが、レイヤー数が多いと非常に重くなってしまうので、何とかできないかと思ってなんとかしてみました。
使い方はJSXファイルを指定の位置において、レイヤーを選択して「ファイル」→「スクリプト」から実行するだけです。
JSXファイルの配置場所は、Windows7でCC(64bit)の標準だと
C:\Program Files\Adobe\Adobe Photoshop CC (64 Bit)\Presets\Scripts
でしょうか。Macだと
/Applications/Adobe Photoshop CC/Presets/Scripts
になりますかね。
ショートカットに登録するとさらに便利だと思います。(⌘+Ctrl+Xとか)
試しに実行してみたら、基本的にはうまくいくみたいですが、レイヤーにあるオブジェクトのサイズがキャンバスより小さいと、レイヤーのオブジェクトのサイズになってしまっているみたいです。
試した感じ、CS6,CCでは動作します。CS5以前ではちょっと試してないので、レイヤー複製に新規ドキュメントがない場合はできないかもしれません。複数レイヤーを選択してもできると思いますが、一旦レイヤーを結合したほうがうまくいくと思います。
→zip
これ自体は別の拡張機能を作るための副産物としてできたものなので、元の目的の物ができあがったらまた上げようと思います。