終了

PhotoShopの画像書き出しについて。カンバスサイズを保持したまま書き出しをしたい。

New Here ,
Sep 12, 2023 Sep 12, 2023

PhotoShopの画像書き出しについてです。

1.jpg

2.png

添付画像のようにレイヤーが配置されている状態で、カンバスサイズを保持した状態で一括書き出しする方法はありませんか?拡張子は.pngで書き出したいです。

 

書き出したいレイヤーは各グループのトップ(A・B・C・D・E・F)です。

通常であれば、Aのグループのみ表示させ、それ以外のグループを非表示>名前を付けて保存>拡張子を選んで>保存となりますが(現在はこのやり方でやってます)、これだと1つのデータを保存するのに非常に時間がかかります。

しかもこの往復作業を計6回やらなくてはなりません。6個ならまだ何とかなりますが、これが何十個もあると途方に暮れます...。

 

上記手順で書き出したデータがこちら(グレーの部分は透明と仮定してください)↓

3.jpg

結論これを6個素早く作りたい

 

逆に、ファイル>書き出し>レイヤーからファイル だと、以下のように各レイヤーの解像度(余白がない状態)かつグループ化が解除された状態で書き出されてしまうので上記で説明した出来上がって欲しいものとは大きく差異があります。

3.jpg

 

A~F決められた場所に配置されたデータをそのままに描きだす方法があれば教えてください!

駄文で恐れ入りますがよろしくお願いいたします。

キーワード
Windows
4.3K
翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines

correct answers 1 件の正解

Community Expert , Sep 13, 2023 Sep 13, 2023

ふだん報酬ありきでスクリプト書いてますが、

今回ちょっとなのでこの場で書いてみました。

グループを内包しないグループを結合する、という内容です。

追加要件対応やメンテナンスについては期待なさらないでください。

mergeMinGroup(app.activeDocument);

function mergeMinGroup(gr){
    var flag = true;
    for(var i = gr.layers.length - 1; i >= 0; i--){
        var ly = gr.layers[i];
        if(ly.typename == "LayerSet"){
            flag = false;
            mergeMinGroup(ly);
        }
    }
    if(flag) gr.merge();
}

 

もと

スクリーンショット 2023-09-13 15.59.09.png

 

あと

スクリーンショット 2023-09-13 15.59.23.png

 

というかんじです。ここまでこぎつけたら、あとは ファイルメニュー > 書き出し > レイヤーからファイル でいけるのでは。

翻訳
Community Expert ,
Sep 12, 2023 Sep 12, 2023

いったん要件を整理していいでしょうか。

 

・背景レイヤーは本来存在しない(非表示などでもなく本当に存在しない)

・グループごとの書き出しをしたい

・グループが入れ子になっている場合、最奥のグループだけを対象としたい

・親グループ内に子グループ以外の単一レイヤーが存在する場合は無視する(例にはないが可能性として)

 

…で合っているでしょうか?

自分が知らないだけなのかもしれませんが、機能として存在しない場合、言い換えれば「ユーザーにとって都合の良いグループを書き出す」にあたります。

つまりはスクリプトで解決するしかない案件かなあと。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Sep 12, 2023 Sep 12, 2023

駄文の中大変恐れ入ります。。

いただいている要件定義で合っています。

自分でもいろいろと調べてみているとやはりスクリプトで解決が早いのかもしれないと感じました。とは言ってもコードは1mmも書けないので搭載されている機能でなんとかしようとしています。。

 

直近試した中で一番再現性良かったものはレイヤーカンプ機能でした。

しかしながらこちらも一度”不必要なレイヤーは非表示の上”、レイヤーカンプに追加を繰り返す必要がありました。書き出しに関してはカンプに追加したもの全選択>書き出し>レイヤーカンプからファイルで一括書き出しができたため当初記載の方法より若干効率は上がり、カンバスサイズを維持したまま書き出すことができました。

 

ですが求めているのは「不必要なレイヤーは非表示の上」という作業を除いて行いたくそれに付随する機能やスクリプトがあればご教示いただきたく....。

言ってしまえば、グループの親を右クリックしてこのレイヤー+背景(カンバス全体)のみを書き出す。みたいな機能が無いものなのかなと😰.....。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Sep 13, 2023 Sep 13, 2023

ふだん報酬ありきでスクリプト書いてますが、

今回ちょっとなのでこの場で書いてみました。

グループを内包しないグループを結合する、という内容です。

追加要件対応やメンテナンスについては期待なさらないでください。

mergeMinGroup(app.activeDocument);

function mergeMinGroup(gr){
    var flag = true;
    for(var i = gr.layers.length - 1; i >= 0; i--){
        var ly = gr.layers[i];
        if(ly.typename == "LayerSet"){
            flag = false;
            mergeMinGroup(ly);
        }
    }
    if(flag) gr.merge();
}

 

もと

スクリーンショット 2023-09-13 15.59.09.png

 

あと

スクリーンショット 2023-09-13 15.59.23.png

 

というかんじです。ここまでこぎつけたら、あとは ファイルメニュー > 書き出し > レイヤーからファイル でいけるのでは。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Sep 13, 2023 Sep 13, 2023

わざわざコードまで書いてくださりありがとうございます!

ご教示いただいたコードを使用してスクリプト実行したら画像のようにすることができました。

適宜レイヤーの中身を変更する必要がある場合は事前にバックアップ(コピペ)やスマートオブジェクトにしておく必要はありますが、明らかに時短にはなりました。

今後活用させていただきます。ありがとうございました!

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
積極的な参加者 ,
Sep 12, 2023 Sep 12, 2023

元のデータから6個複製を作成する。(ちょっと面倒)
それぞれ一つのレイヤー表示だけにする。(数多いと面倒)
インデザインとかに一気に配置して一気に書き出す。(わりと簡単)
書き出しが個別じゃない分、少し楽な気がします。

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Sep 18, 2023 Sep 18, 2023

終わった話だけれどつぶやいておきます

「PNG書き出し」にショートカットを設定して

スクリプトを実行してショートカットをするともう少し楽になる

 

・・・気がする

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Contributor ,
Jul 04, 2024 Jul 04, 2024

Windows環境であればPhotoshopの純正機能で対応できます。

 

【準備1】

環境設定 > 書き出し > オプション

⇒従来の「書き出し形式」を使用にチェックを入れる

※Mac環境には何故かこの項目が存在しません

 

【準備2】

フォルダ「A」~「F」にレイヤーマスクを作成。

 

【ステップ1】

フォルダ「A」~「F」を選択

※その際に一番最上層にある「グループ」は選択しないこと

 

【ステップ2】

選択済みのいずれかのレイヤーを右クリック > PNGとしてクイック書き出し > 保存

 

以上で、選択された全てのフォルダ(及びレイヤー)がカンバスサイズを保持して書き出されます。

 

蛇足ですが…

準備2に関しては手作業になります。ただ、キーボードショートカットを駆使していただければそこまで手間ではないかと思います。念の為その方法についても記載しておきます。

■レイヤーマスク作成の時短方法 キーボードショートカット編

【準備1】

キーボードショートカットを設定(例: Ctrl + ^)

⇒アプリケーションメニュー > レイヤー > レイヤーマスク > すべての領域を表示

【準備2】

マスクを作成したいレイヤーのみを表示

 

【ステップ】

1.  Alt + [ or Alt + ]

2. レイヤーマスクのショートカット(例: Ctrl + ^)

3. 1と2を繰り返し

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Jul 05, 2024 Jul 05, 2024

Photoshop 25.9.1  Mac です

「従来の書き出し形式」チェック、Macにもありました!

スクリーンショット 2024-07-05 17.14.53.png

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Contributor ,
Jul 09, 2024 Jul 09, 2024

Macにも項目があれば同じ方法で対応できそうですね。

私が確認した環境はM2だったのでシリーズによって違うのかもしれません。

情報ありがとうございます!

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
レジェンド ,
Jul 10, 2024 Jul 10, 2024

AppleSilicon版ではこのチェックは出ません。Rosettaで開いてintelバージョンにすると出てきます。

--
Yamonov
翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Jul 18, 2024 Jul 18, 2024

皆様追記ありがとうございます。

eight88様ご指摘の方法でも無事カンバスサイズを保持したまま書き出すことができました!

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Jul 18, 2024 Jul 18, 2024
最新

AK_pub3:アカウント間違えましたがスレ本人です😌

皆様ありがとうございます!

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines