Antworten auf deine Fragen:
Neues Thema erstellen

[CS6] - mehrere markierte Ebenen per javascript in Array schreiben

hade0011

Noch nicht viel geschrieben

Hallo,

wie kann ich mehrere markierte Ebenen per javascript in ein Array schreiben? Ich möchte gerne Scripte schreiben, die alle markierten Ebenen abarbeiten

Beste Grüße,
Dennis
 

Photoshop

Aquarii

Pixelluxer

AW: mehrere markierte Ebenen per javascript in Array schreiben

Hallo,

schau mal hier

Im ersten Teil werden alle sichtbaren Ebenen in ein Array eingelesen.
 
Zuletzt bearbeitet:
AW: mehrere markierte Ebenen per javascript in Array schreiben

@Aquarii,
dein Link verwiest auf ein „Layer-Export-Script“. Das geht fast in die gewünschte Richtung, allerdings hast du mit den dort verwendeten Methoden keinerlei Möglichkeit, die aktuell markierten Ebenen auszulesen.

Das funktioniert am ehesten mit einer von Paul Rigott im User-to-User-Forum geposteten Funktion. Diese übergibt ein Array der markierten Ebenen (oder aber eine Meldung, wenn keine Ebene ausgewählt ist).

(das ist JavaScript, nur der Auszeichnung halber als PHP deklariert)

PHP:
// This will give you a list of selected layers, the array will be zero if no layers are selected.

var selectedLayer =  getSelectedLayersIdx();
if(!selectedLayer.length) alert("no layers selected");

function getSelectedLayersIdx(){
    var selectedLayers = new Array;
    var ref = new ActionReference();
    ref.putEnumerated( charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
    var desc = executeActionGet(ref);
    if( desc.hasKey( stringIDToTypeID( 'targetLayers' ) ) ){
        desc = desc.getList( stringIDToTypeID( 'targetLayers' ));
        var c = desc.count;
        var selectedLayers = new Array();
        for(var i=0;i<c;i++){
            try{
                activeDocument.backgroundLayer;
                selectedLayers.push(  desc.getReference( i ).getIndex() );
                }catch(e){
                    selectedLayers.push(  desc.getReference( i ).getIndex()+1 );
                    }
                }
            }else{
                var ref = new ActionReference();
                ref.putProperty( charIDToTypeID("Prpr") , charIDToTypeID( "ItmI" ));
                ref.putEnumerated( charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
                try{
                    activeDocument.backgroundLayer;
                    selectedLayers.push( executeActionGet(ref).getInteger(charIDToTypeID( "ItmI" ))-1);
                    }catch(e){
                        selectedLayers.push( executeActionGet(ref).getInteger(charIDToTypeID( "ItmI" )));
                        }
                    var vis = app.activeDocument.activeLayer.visible;
                    if(vis == true) app.activeDocument.activeLayer.visible = false;
                    var desc9 = new ActionDescriptor();
                    var list9 = new ActionList();
                    var ref9 = new ActionReference();
                    ref9.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
                    list9.putReference( ref9 );
                    desc9.putList( charIDToTypeID('null'), list9 );
                    executeAction( charIDToTypeID('Shw '), desc9, DialogModes.NO );
                    if(app.activeDocument.activeLayer.visible == false) selectedLayers.shift();
                    app.activeDocument.activeLayer.visible = vis;
                    }
                return selectedLayers;
                };
Viel Spass damit.
:)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.621
Beiträge
1.538.378
Mitglieder
67.546
Neuestes Mitglied
tyed
Oben