Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getLayerObj(){
- //レイヤーの情報を整理する関数を準備
- var layers = activeDocument.layers;
- var layerCount = 0;
- var layerMax = layers.length;
- ・
- ・
- ・
- ・
- //保存形式の準備、減色などの調節
- var gifOpt = new GIFSaveOptions();
- gifOpt.colors = 64;
- gifOpt.dither = Dither.NONE;
- gifOpt.matte = MatteType.WHITE;
- ・
- ・
- ・
- //保存する種類分の回数を回すfor文
- //ここではサンプルpsdの 100000,50000,10000,5000,1000,100,50,10 を種類として、すべてのレイヤーを解析する回数を8回指定。
- for (var m = 0 ; m < 8; m++){
- wakuLayer = sizeMun[m] + "_waku";
- for(var n = 0; n<layerMax; n++){
- //全部のレイヤーから種類の数だけ表示非表示の洗い出し
- for(var i = 0; i<layerMax; i++){
- //表示させるレイヤーをif文でふるい分け
- if(i == n){
- //レイヤーの名前取得
- fName = layers[i].name;
- //保存するパスの生成。ここで、ファイル名は命名規則にそぐうものを生成させるようにする。
- fileGifObj = new File( path + fName + "_" + sizeMun[m] +".gif" );
- //表示させるレイヤーを変数に格納
- visibleLayer03 = activeDocument.layers[i];
- ・
- ・
- ・
- ・
- ・
- ・
- }else{
- //表示させないレイヤーにはそのまま非表示のBooleanを渡す
- activeDocument.layers[i].visible = false;
- }
- }
- //全部のレイヤーから保存しないレイヤーの場合はフラグを立てる
- if(fName == "base"){
- noPrintLayerFlag = true;
- }
- for (var l = 0 ; l < 8; l++){
- ・
- ・
- ・
- }
- if(!noPrintLayerFlag){
- //レイヤーを表示Boolean。保存メゾットでデータ格納する
- visibleLayer01.visible = true;
- visibleLayer02.visible = true;
- visibleLayer03.visible = true;
- visibleLayer04.visible = true;
- activeDocument.saveAs( fileGifObj, gifOpt, true, Extension.LOWERCASE);
- }else{
- //フラグを戻す
- noPrintLayerFlag = false;
- }
- }
- }
- alert("おわったよ!");
- }
- //スクリプトを実行
- getLayerObj();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement