Photoshopの「不透明度」と「塗り」のパラメータを入れ替えるスクリプト
var doc = app.activeDocument; function main() { var allArtLayers = new Array; var allVisibleInfo = new Array; getAllArtLayers(doc, allArtLayers, allVisibleInfo); for (var i=0; i<allArtLayers.length; i++) { if(!allVisibleInfo[i]) continue; var lay = allArtLayers[i]; var temp = lay.fillOpacity; lay.fillOpacity = lay.opacity; lay.opacity = temp; } } function getAllArtLayers(obj, layersArray, visibleArray) { for( var i = 0; i < obj.artLayers.length; i++) { layersArray.push(obj.artLayers[i]); visibleArray.push(obj.artLayers[i].visible); } for( var i = 0; i < obj.layerSets.length; i++) { getAllArtLayers(obj.layerSets[i], layersArray, visibleArray); } } main();
Photoshopの「不透明度」と「塗り」のパラメータを入れ替えるスクリプトです。
対象となるのは表示設定にされているレイヤのみです。
(親のレイヤセットが非表示でもレイヤ自体が表示設定なら処理します)
透明シェイプレイヤを全解除するスクリプトと併用すれば
Saiのピクセルブレンドに極めて近いものをPhotoshopで再現できるはずです。
ただし、変換したデータをSaiで開くと表示が崩れてしまいます。
また、表示が崩れた状態で保存するとレイヤの不透明度情報が完全に破棄されます。
(Saiは「塗り」のパラメータを参照しないため)
その為、変換後もう一度Saiで開きたい場合は、
再度この変換スクリプトをかけて「塗り」の情報を「不透明度」に戻してあげる必要があります。
なお、透明シェイプレイヤ解除スクリプト同様、自己責任でご利用ください。
重要なデータは、実行前にバックアップをとるのが理想です。
半年前のアンケートとかでスコアの高かったモノをまとめた
— りょうご (@Ryogo_PL) April 28, 2025
『ちびキャラ用 コスチューム素材プラグイン Vol.4』を
公開しておきましたhttps://t.co/Rm9dts90Gx pic.twitter.com/CgfbKVUhUg
昔描いた 東方イラスト をマイブームな画風で描き直してみたシリーズ pic.twitter.com/AV9PMOWa5c
— りょうご (@Ryogo_PL) July 9, 2022