Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.04 KB | None | 0 0
  1. function getLayerObj(){
  2. //レイヤーの情報を整理する関数を準備
  3. var layers = activeDocument.layers;
  4. var layerCount = 0;
  5. var layerMax = layers.length;
  6. //保存形式の準備、減色などの調節
  7. var gifOpt = new GIFSaveOptions();
  8. gifOpt.colors = 64;
  9. gifOpt.dither = Dither.NONE;
  10. gifOpt.matte = MatteType.WHITE;
  11.  
  12. //保存する種類分の回数を回すfor文
  13. //ここではサンプルpsdの 100000,50000,10000,5000,1000,100,50,10 を種類として、すべてのレイヤーを解析する回数を8回指定。
  14. for (var m = 0 ; m < 8; m++){
  15. wakuLayer = sizeMun[m] + "_waku";
  16. for(var n = 0; n<layerMax; n++){
  17. //全部のレイヤーから種類の数だけ表示非表示の洗い出し
  18. for(var i = 0; i<layerMax; i++){
  19. //表示させるレイヤーをif文でふるい分け
  20. if(i == n){
  21. //レイヤーの名前取得
  22. fName = layers[i].name;
  23. //保存するパスの生成。ここで、ファイル名は命名規則にそぐうものを生成させるようにする。
  24. fileGifObj = new File( path + fName + "_" + sizeMun[m] +".gif" );
  25. //表示させるレイヤーを変数に格納
  26. visibleLayer03 = activeDocument.layers[i];
  27. }else{
  28. //表示させないレイヤーにはそのまま非表示のBooleanを渡す
  29. activeDocument.layers[i].visible = false;
  30. }
  31. }
  32. //全部のレイヤーから保存しないレイヤーの場合はフラグを立てる
  33. if(fName == "base"){
  34. noPrintLayerFlag = true;
  35. }
  36. for (var l = 0 ; l < 8; l++){
  37.     ・
  38.    ・
  39.     ・
  40. }
  41. if(!noPrintLayerFlag){
  42. //レイヤーを表示Boolean。保存メゾットでデータ格納する
  43. visibleLayer01.visible = true;
  44. visibleLayer02.visible = true;
  45. visibleLayer03.visible = true;
  46. visibleLayer04.visible = true;
  47. activeDocument.saveAs( fileGifObj, gifOpt, true, Extension.LOWERCASE);
  48. }else{
  49. //フラグを戻す
  50. noPrintLayerFlag = false;
  51. }
  52. }
  53. }
  54. alert("おわったよ!");
  55. }
  56. //スクリプトを実行
  57. getLayerObj();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement