すべてのレイヤーを破壊する。それらは再生できない。


ばーちゃるえんじにあ の 星野ニア です。

みなさんはレイヤーを吹き飛ばしたくなったことはありますか?
ない?例えばこういう時です。(動画リンク)
1ミリも作業が進まない星野源

じゃあ早速レイヤーを吹き飛ばしましょう。
今回はPhotoshopです。

実装された運用

Photoshop上で実行するとUIパネルが出るので(2)(白)(白)を支払って唱えます。
すべてのレイヤーを破壊し上書き保存、すべてのヒストリーを削除(再生できない要素)します。

想定した運用

GUIにPSDをドラッグ&ドロップしたらレイヤーを全削除して上書き保存するやつ。

手法選定

  • GoかPythonかJavascriptでPSDの上書きできるやろ
     ->読み込み用のPSDパーサーはあるけど書き込み用が無い。
  • バイナリから直接レイヤーデータ消去しよ
     ->めんどくさ
  • Psスクリプトにしよ

実装

UIは省略します。

すべてのレイヤーを破壊する。それらは再生できない。.jsx
var doc = app.activeDocument;
//全レイヤー結合
doc.mergeVisibleLayers();
//統合レイヤー削除
doc.layers[0].allLocked = false;
doc.layers[0].remove();
//保存
doc.save();
//履歴削除のためブリンク
var _path = doc.fullName.fullName;
doc.close();
app.open(new File(_path), OpenDocumentType.PHOTOSHOP);

HoshinoNia/wrathofgod: すべてのレイヤーを破壊する。それらは再生できない。

感想

誰かGoかPythonでPSDの上書き操作できる手段を教えてください。