さらに管理人の逃亡は続く。
いくつか2値化のスクリプトを書いたので、
せっかくだから、
ファイルの中のレイヤーセットの名前に従って
一気に2値化するスクリプトを組んじゃえ、
ということで、作ってみた。
こいつをアクションに登録して
バッチを実行すれば140ページの2値化の間に
晩ご飯が食べられる。うふふふふ。
管理人の作業はいたって雑なので、
「レイヤーセットの名前でどのスクリプトを実行するか判定する」
なんてぜーったい100%完璧に実行できない。
綴り間違いとかありすぎるのが予測できてしまう。
なので、2値化レイヤーをつくったあとは、
元のレイヤーセットは非表示で
判別できなかったレイヤーセットは放置プレイ。
ここでスクリプト終了させてる。
あとで、目で確認して最後のレイヤー統合、2値化は手動でするつもり。
きっちりした人は2値化までスクリプト組めばいいんだろうけど、
管理人は怖くて無理。
作業する原稿のレイヤーセットはこんな感じ。
実際には台詞とかいろんなレイヤーやレイヤーセットが
ここに追加されてる感じ。
■■■■■■■ここからスクリプト■■■■■■■
//2値化jsxファイルを読み込む
fileRef = new File(“Macintosh HD/Users/avi/Documents/Adobe Scripts/80ami.jsx”);
fileRef.open(“r”);
ami80 = fileRef.read();
fileRef = new File(“Macintosh HD/Users/avi/Documents/Adobe Scripts/suna.jsx”);
fileRef.open(“r”);
suna = fileRef.read();
fileRef = new File(“Macintosh HD/Users/avi/Documents/Adobe Scripts/10ami.jsx”);
fileRef.open(“r”);
ami10 = fileRef.read();
fileRef = new File(“Macintosh HD/Users/avi/Documents/Adobe Scripts/40sima-yoko.jsx”);
fileRef.open(“r”);
simayoko40 = fileRef.read();
fileRef = new File(“Macintosh HD/Users/avi/Documents/Adobe Scripts/60sima-tate.jsx”);
fileRef.open(“r”);
simatate60 = fileRef.read();
fileRef = new File(“Macintosh HD/Users/avi/Documents/Adobe Scripts/80白ami.jsx”);
fileRef.open(“r”);
siroami80 = fileRef.read();
fileRef = new File(“Macintosh HD/Users/avi/Documents/Adobe Scripts/sirosuna.jsx”);
fileRef.open(“r”);
sirosuna = fileRef.read();
//レイヤーセットの数を取得
var M =activeDocument.layerSets.length;
//レイヤーセットの数だけ
//(グループ0からグループM-1まで)
//レイヤーセットの名前で判定してパターンをかえて2値化を繰り返す
//(ここで外部のjsxを使用)
//名前が当てはまらなければスルー
for (i=0; i<=M-1; i++)
{
//判定するレイヤーセットをアクティブにして
//レイヤーセットの名前をLに格納
N =activeDocument.layerSets[i];
activeDocument.activeLayer=N;
L=N.name
//ここから判定-2値化
//例:一行目:Lが「ami」ならば「ami80」を実行
switch(L)
{
case L="ami": photoshop12.executeScript(ami80); break;
case L="suna": photoshop12.executeScript(suna); break;
case L="101": photoshop12.executeScript(ami10); break;
case L="yokosima": photoshop12.executeScript(simayoko40); break;
case L="tatejima": photoshop12.executeScript(simatate60); break;
case L="siroami": photoshop12.executeScript(siroami80); break;
case L="sirosuna": photoshop12.executeScript(sirosuna); break;
}
}
■■■■■■■ここまでスクリプト■■■■■■■
jsxファイルを作り足したりして、
修正するときはこの辺を直す↓
あ、jsxへのパス間違えたりしても、
エラーとか出ずに
何もなかったふりしてスルーします、このスクリプト。
(2値化もなんにもしない)
photoshop12.executeScriptのとこは参考にしたのが
CS3でphotoshop10.executeScriptってなってたので、
CS5用に書き換えてみたんだが、
違うバージョンの番号にすると動くのかは試してない。
jsxを読み込む用の変数は
テキトーでいいんだけど、
最初はアルファベットで始めなきゃいけないとか
規則はあるみたいなので、
その辺は無難なもので。
(形状+線数とかにしたいよね)
Windowsの場合はパスを
C:¥documents and settings¥なんたらかんたら
みたいな感じにすればいけるんじゃないかと思うんだけど、
管理人はWindowsのPhotoshop持ってないから試せない。
Script全部まとめた圧縮ファイルおいときます。
(20110730訂正:おかしいとこあったのでリンク切りました。
最新のは
http://www.comic-gallery.net/blog/2011/05/2_4.html
こっちでお願いします)