Photoshop でロールオーバーな画像を一括保存する JS
できた!
http://lab.lowreal.net/trac/browser/c/photoshop/SaveSlicesWithRollOver.jsx
over っていう名前がついたレイヤーを (レイヤーセットのほうがいいきがしてきた。あとで変えよう)
- 表示させた状態
- 表示させない状態
でそれぞれ保存して、デフォルトの名前っぽいスライスを削除
保存先はファイルと同じディレクトリの filename-slices 以下になる
- filename.psd
- filename-slices/
- images/
- hogehoge.png
- fugagua.png
- over/
- images/
- hogehoge.png
- fugagua.png
- images/
- images/
あと同じファイルの場合は over のほうを削除して、違う場合は連結させたい。でもバイナリ比較ができないっぽい予感。read して比較するだけなら問題ないかな。
http://lab.lowreal.net/trac/changeset/830
連結までやるようにした。結構いろいろハマった……
インデックスカラーな画像は doc.changeMode(ChangeMode.RGB); してあげないと duplicate できない。これは普通に UI からやってもそうなんだけど
あと
http://lab.lowreal.net/trac/changeset/831
レイヤーセット (グループ) にするようにした。
手順としては
- ロールオーバーしたときの画像にするレイヤーセットを over という名前にしとく
- 普通にスライスをきる
- Web 用に保存で各スライスのフォーマットとかを指定して「完了」
- このスクリプト実行
フォーマットを指定するとき、gif だと連結ができない。あと連結後のときは普通に保存しているだけなので、Web 用の保存のオプションはきかない。(ロールオーバーしない画像のオプション指定が主)