Advertisement
fslasht

全レイヤーの名前とピクセル範囲を列挙して表示.jsx

Jan 8th, 2014
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // PhotoShop CC用スクリプト
  2. // 全レイヤーの名前とピクセル範囲を列挙して表示
  3. // 2014.1.9 F/T
  4.  
  5. //  【使い方】
  6. //  1.スクリプトを以下のフォルダにコピーして、PhotoShop起動(再起動)
  7. //      Macの場合    /Applications/Adobe Photoshop CC/Presets/Scripts/
  8. //      ※ ファイル名は「全レイヤーの名前とピクセル範囲を列挙して表示.jsx」などにしてね
  9. //  2.座標を調べたいレイヤーで構成されたファイルを開く
  10. //  3.メニューの、ファイル→スクリプト→全レイヤーの名前とピクセル範囲を列挙して表示 を実行
  11. //  4.プロンプトにCSV形式で、レイヤー名、座標 が表示されますので、適当にコピーして使ってね。
  12.  
  13. // すごく車輪の再発明っぽいね・・・
  14.  
  15. // 【参考サイト】
  16. //  photoshopの選択範囲から、イメージマップで使用する座標を得るスクリプト
  17. //  http://www.hrkd.net/2012/04/11/id_1059/
  18. //
  19. //  レイヤーのピクセルのある範囲を求める
  20. //  http://www.openspc2.org/book/PhotoshopCS6/easy/layer/009/index.html
  21. //
  22. //  レイヤー名別にリサイズする
  23. //  http://www.openspc2.org/book/PhotoshopCS6/easy/layer/020/index.html
  24. //  ※ほとんどこのソースを参考にさせてもらいました。
  25.  
  26. // 初期化
  27. result="";  // 出力結果
  28.  
  29. // レイヤー列挙
  30. docObj = activeDocument;
  31. for (i=0; i<docObj.layers.length; i++)
  32. {
  33.     layer = docObj.layers[i];
  34.     layerBounds = layer.bounds;
  35.     x1 = parseFloat(layerBounds[0]);
  36.     y1 = parseFloat(layerBounds[1]);
  37.     x2 = parseFloat(layerBounds[2]);
  38.     y2 = parseFloat(layerBounds[3]);
  39.     w = (x2 - x1);
  40.     h = (y2 - y1);
  41.  
  42.     result += layer.name + "," +x1 + "," + y1 +","+ w + "," + h +  "\n";
  43. }
  44.  
  45. // プロンプトに結果表示
  46. prompt('全レイヤーの名前とピクセル範囲を列挙' , result);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement