Exportieren Sie eine PSD in komprimierte und transparente TIF-Dateien mit nur einer Ebene

Ich habe mehrere Packshot-Bilder in einer Gruppe (mit einer Maske für einen transparenten Hintergrund) und einer Schattenebene unten.

Gibt es eine Möglichkeit, alle Bilder in TIF-Dateien mit nur einer Ebene und Transparenz zu exportieren?

Ich habe es mit Layer Comps versucht, aber ich habe alle Layer in jeder Datei, also sind das ungefähr 500 MB für jeden (statt ~ 15 MB).

Ich habe die Version CC 2015.

Je nachdem, wie viele Ebenen vorhanden sind, ist es möglicherweise einfacher, die Ebenen manuell zu löschen. Löschen Sie einfach die Ebenen, die Sie nicht in die TIF-Datei aufnehmen möchten, wobei 1 angezeigt wird, und exportieren Sie sie dann. Wiederholen Sie dies für die anderen Ebenen. Vielleicht können Sie in Photoshop eine Datenzusammenführung durchführen, wenn die Bilder bereits getrennt sind.
Sie verwenden eine einzige Maske für alle Ebenen? Wollen Sie die Gruppen als Tiffs exportieren, richtig?
@poor: Ich habe nur eine Gruppe mit einer Maske und allen Bildern darin
Ok, wenn Sie Javascript schreiben können - es gibt ein Skript namens Export all Layers as Files . Ich würde versuchen, es zu ändern, um zuerst die Maske anzuwenden und die Ebene anschließend zu exportieren.
@poor: ja, ich kenne dieses Skript, aber das Ziel ist es, ein vorhandenes Tool zu finden, da es sehr spezifisch ist, werde ich es wahrscheinlich nicht wiederholen
Ja, das ist kein typischer Workflow. Ich habe bereits ein Skript geschrieben, um Ordner/Gruppen zu exportieren, die ich freigeben könnte, aber wenn ich Zeit habe, werde ich einen Blick darauf werfen.
Kannst du nicht einfach die ganze Gruppe zusammenführen? (Rechtsklick auf Gruppe -> Zusammenführen). Es wird eine einschichtige Datei mit Transparenz erstellt. Ich muss deine Frage falsch verstehen.
@go-me: hm nein, das ist nicht genau das was ich suche. Die Herausforderung besteht darin, so viele importierte Smart-Layer-Bilder hinzuzufügen, wie ich benötige.
Tatsächlich nicht so einfach. Jemand hat gerade ein Skript als Antwort gepostet, das könnte für Sie funktionieren! Ich wüsste nicht, wie man das in nur einem Schritt macht, vielleicht 2-3. So etwas wie das Exportieren aller Ebenen in jeweils ein Dokument und das Erstellen einer Aktion zum Öffnen dieser Dateien, Hinzufügen der Maske / des Schattens, Zusammenführen bei Bedarf und Speichern.
Das Skript wurde unter Berücksichtigung des vorhandenen Exportskripts geschrieben, um die gewünschte Funktionalität mit weniger Aufwand zu erreichen. Es ist auch denkbar, beide Skripte zu verketten... also lassen Sie uns wissen, was Sie sonst noch brauchen.

Antworten (1)

Ich habe ein Skript geschrieben, das die Ebenenmaske der ausgewählten Gruppe auf alle Ebenen in der Gruppe selbst kopiert . Verwenden Sie anschließend das Skript „Ebenen in Dateien exportieren“ , um Ihre Ebenen in den gewünschten Dateityp zu exportieren (standardmäßig mit Photoshop geliefert).

Geben Sie hier die Bildbeschreibung ein

  1. Sichern Sie zuerst Ihre Photoshop-Datei
  2. Wählen Sie die Gruppe/den Ordner im Ebenenstapel aus
  3. Wählen Sie das Skript aus und führen Sie es über Datei > Skripts > Durchsuchen aus

Copy-groupMask-to-groupLayers.jsx

#target Photoshop

// pass the layer name
function copy_mask(targetLayer) {

    $.writeln(targetLayer);

    var desc126 = new ActionDescriptor();
    desc126.putClass( charIDToTypeID('Nw  '), charIDToTypeID('Chnl') );

    var ref111 = new ActionReference();
    ref111.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Msk ') );
    ref111.putName( charIDToTypeID('Lyr '), targetLayer.toString() );
    desc126.putReference( charIDToTypeID('At  '), ref111 );

    var ref112 = new ActionReference();
    ref112.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Msk ') );
    ref112.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
    desc126.putReference( charIDToTypeID('Usng'), ref112 );
    desc126.putBoolean( charIDToTypeID('Dplc'), true );

    executeAction( charIDToTypeID('Mk  '), desc126, DialogModes.NO );
};

// get the document
var doc = app.activeDocument;

// get the selection
var group = doc.activeLayer;

// iterate through the layers and copy the mask
for (var i=0; i<group.layers.length; i++){
    copy_mask(group.layers[i].name);
}