• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:スクリプト処理でPhotoShopレイヤー情報取得)

スクリプト処理でPhotoShopレイヤー情報取得

このQ&Aのポイント
  • スクリプト処理を使用して、PhotoShopのレイヤー情報を取得する方法を教えてください。
  • 50個以上のレイヤーがある画像で、レイヤー名と座標情報を一括で取得し、メモ帳やエクセルに書き出したいです。
  • プログラミングの知識がないので、わかりやすく記載していただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 レイヤーの階層等気にせずそのまま作成しました。(素の状態とのことですので) ====ここからスクリプト以下をxxxx.jsxで保存してPhotoshopのファイル→スクリプト→xxxx.jsxを選択してください。 するとファイル保存のダイアログが開きますのでyyyy.txtとでもして任意の場所を選択してください。 yyyy.txtの内容はカンマ区切りのcsv形式です。 レイヤー名,中心点x座標,中心点y座標,横サイズ,縦サイズ この1行がレイヤーの数作られているはずです。 エラー処理等なにも考慮していないのでご了承ください。 動作確認はPhotoshopCC(2014)32bitにて行っています。 ==== ここからスクリプト var CR = String.fromCharCode(13); var fileName = File.saveDialog("保存ファイル名を入力"); var fileObj = new File(fileName); if ( fileObj.open('w') ) { for ( var i = 0; i < activeDocument.layers.length; i ++ ) { var layer = activeDocument.layers[i]; var bounds = layer.bounds; for ( var j = 0; j < bounds.length; j ++ ) bounds[j] = parseInt(bounds[j]); var w = bounds[2] - bounds[0]; var h = bounds[3] - bounds[1]; var x = bounds[0] + w / 2; var y = bounds[1] + h / 2; fileObj.write ( layer.name + ',' + x + ',' + y + ',' + w + ',' + h + CR ); } fileObj.close(); }

miyabi_700
質問者

お礼

一瞬で座標だしできました大変助かりました。 教えていただいたプログラミングを自分で書こうと思ったら JavaScriptを勉強するのが一番良いでしょうか?

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 そうですね、基本的な構文はjavascriptですので。 後はPsのjavascriptのリファレンスを見ながら作ればいろいろ作れると思います。 あるのは知っていましたが今回初めて使いました。 良い勉強になりました。

miyabi_700
質問者

お礼

ありがとう御座います。 時間ができたらjavascriptの勉強をしようと思います。 大変助かりました。

関連するQ&A

専門家に質問してみよう