Beenden
  • Globale Community
    • Sprache:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티

I want to save as jpg with the same name as the selected layer.

Community-Einsteiger ,
Mar 28, 2024 Mar 28, 2024

Hi all,

 

I want to save as jpg with the same name as the selected layer.

The process is like this. I need to manually select a layer then run a script/action/whatever to save the image file with jpeg quality 12 in the same folder as the PSD file. The name of the file should be the same as the layer name I have manually selected.

 

Thanks in advance!

THEMEN
Aktionen und Skripte , Windows
1.0K
Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines

correct answers 2 richtige Antworten

Community Expert , Mar 28, 2024 Mar 28, 2024
quote

I need to turn on the visibility of that layer, save the file with the name of that selected layer.

Then turn manually some layers off and some other layers on. Then select again a layer to get the file name for the save and so on.


By @Dusan331314882hci

 

Try this script:

 

/*
Save JPEG Using Active Layer Name.jsx
v1.1, 29th March 2024, Stephen Marsh
Based on:
https://community.adobe.com/t5/photoshop-ecosystem-discussions/export-jpg-and-combining-the-visual-layer-names-to-create-the-file-name/
...
Übersetzen
Community Expert , Mar 28, 2024 Mar 28, 2024

I have updated the original code to a new 1.1 version.

 

As per your example, there is no space between the docName and layerName:

 

var jpgSave = new File(docPath + "/" + docName + "" + layerName + ".jpg");

 

I have left a placeholder there to add a space or another separator character if needed, in the example below an _ underscore character:

 

var jpgSave = new File(docPath + "/" + docName + "_" + layerName + ".jpg");

 

Übersetzen
Adobe
Community Expert ,
Mar 28, 2024 Mar 28, 2024

@Dusan331314882hci 

 

I presume that you need to toggle off the visibility of all other layers, so that only the active layer content is saved as a JPEG? Then set the layer visibility back to how it was beforehand...

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Mar 28, 2024 Mar 28, 2024

I need to turn on the visibility of that layer, save the file with the name of that selected layer.

Then turn manually some layers off and some other layers on. Then select again a layer to get the file name for the save and so on.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Mar 28, 2024 Mar 28, 2024

You can use Generate Assets perhaps? Although it doesn't save in the same folder, but in a sub-folder named assets-filename.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Mar 28, 2024 Mar 28, 2024

I do need to save all layers one by one. The images I am saving are a combination of multiple layers visible when saving, I am just using the SELECTED layer as the file name so I should not type it later on.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Mar 28, 2024 Mar 28, 2024

Hi!

If you use the Export>Layers to files feature under the File menu, you can do just that.

1. Name the layer whatever name you like.

2. Make sure the layer visibility is turned on.

3. Choose File>Export>Layers to files and in the dialog box choose where you want to save them images, choose your general file name and the quality of hte jpg.

4. Click Run. It will automatically save your file with the Layer name in addition to the general name you give it.

Let us know if that helps!

Michelle

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Mar 28, 2024 Mar 28, 2024

Hi! I am sorry, maybe I was not clear enough. I am not exporting layers. I am saving the whole image that is made of a few dozen layers. This is a model that is wearing pants and I have 800 textures that I need to apply. The basic images is a model of a guy with several layers of shadows and some adjustment layers. These should always be present on the final image. The only thing that is changed is the visibility of the textures which are put in separate layers. And the pants are made of several different layers of the same texture. So I need to combine these textures (4 of them to be precise) but turning their visibility off and on and when I make the setup, I save the image using one of the layers as the name for the new file. The model with the shadows and adjustment layers are always turned on.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Mar 28, 2024 Mar 28, 2024
quote

I need to turn on the visibility of that layer, save the file with the name of that selected layer.

Then turn manually some layers off and some other layers on. Then select again a layer to get the file name for the save and so on.


By @Dusan331314882hci

 

Try this script:

 

/*
Save JPEG Using Active Layer Name.jsx
v1.1, 29th March 2024, Stephen Marsh
Based on:
https://community.adobe.com/t5/photoshop-ecosystem-discussions/export-jpg-and-combining-the-visual-layer-names-to-create-the-file-name/td-p/13617072
*/

#target photoshop

(function () {
    // Set the doc and path variables
    var doc = app.activeDocument;
    var docName = doc.name.replace(/\.[^\.]+$/, '');
    try {
        var docPath = doc.path.fsName;
    } catch (e) {
        var docPath = Folder.selectDialog("Unsaved base file, select the output folder:");
    }

    // Clean the layer name, place characters to be retained inside the [] brackets...
    var layerName = doc.activeLayer.name.replace(/[^a-z0-9 -_]/gi, '').replace(/^ +| +$/g, '');
    var jpgSave = new File(docPath + "/" + docName + "" + layerName + ".jpg");

    // Check for existing file
    if (jpgSave.exists) {
        // true = 'No' as default active button
        if (!confirm("File exists, overwrite: Yes or No?", true))
            return;
    }

    // Setup the save options
    var jpgOptns = new JPEGSaveOptions();
    jpgOptns.formatOptions = FormatOptions.STANDARDBASELINE;
    jpgOptns.embedColorProfile = true;
    jpgOptns.matte = MatteType.NONE;
    jpgOptns.quality = 12;
    doc.saveAs(jpgSave, jpgOptns, true, Extension.LOWERCASE);
}());

 

Note:

 

Layers can have special characters that are illegal when used as a filename.

 

In the code you will find the following section, simply add any special characters that you wish to retain inside the [ ] square brackets:

 

[^a-z0-9 -_]

 

The code currently retains alpha-numeric characters, digits, word spaces, hyphens and underscore characters.

 

If you wished to add a $ sign, then you would do so similar to this:

 

[^a-z0-9 -_$]

 

Keep in mind that Photoshop may still remove illegal characters anyway.

 

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Mar 28, 2024 Mar 28, 2024

This is working like a charm Stephen! Thank you so much! Where could I add the name of the main file as a prefix? So if the main file with all the layers is called "MainPants.psd" and I run the script then I should get MainPants37.jpg (so without the extension PSD). Thanks again!

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Mar 28, 2024 Mar 28, 2024

I have updated the original code to a new 1.1 version.

 

As per your example, there is no space between the docName and layerName:

 

var jpgSave = new File(docPath + "/" + docName + "" + layerName + ".jpg");

 

I have left a placeholder there to add a space or another separator character if needed, in the example below an _ underscore character:

 

var jpgSave = new File(docPath + "/" + docName + "_" + layerName + ".jpg");

 

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Mar 28, 2024 Mar 28, 2024

This is working great, I just see it now! Great work, man, and thank you once again!

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Mar 28, 2024 Mar 28, 2024
AKTUELL
quote

This is working great, I just see it now! Great work, man, and thank you once again!


By @Dusan331314882hci

 

You're welcome!

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines