[FIXED] Objektauswahl mit Photoshop Scripting

Ausgabe

Ich muss Menschen in einer großen Anzahl von Bildern automatisch auswählen können. Ich kenne ihre Koordinaten, Breite und Höhe, würde aber idealerweise eine humanoidere Auswahl bevorzugen, und es scheint über die normale Objektauswahl über die Benutzeroberfläche großartig zu funktionieren. Jetzt frage ich mich, ob ich das mit Photoshop-Scripting machen kann? Alle Hinweise geschätzt!

Zur Verdeutlichung spreche ich von dem kürzlich hier vorgestellten Objektauswahl-Tool .

Danke an alle!

Lösung

Ich habe es geschafft, das zum Laufen zu bringen. Falls es jemanden interessiert:

Angenommen, die Koordinaten des Begrenzungsrahmens (oben, links, unten, rechts) werden gefunden.

var idset = stringIDToTypeID( "set" );
var desc4 = new ActionDescriptor();
var idnull = stringIDToTypeID( "null" );

var ref3 = new ActionReference();
var idchannel = stringIDToTypeID( "channel" );
var idselection = stringIDToTypeID( "selection" );
ref3.putProperty( idchannel, idselection );
desc4.putReference( idnull, ref3 );

var idto = stringIDToTypeID( "to" );
    var desc5 = new ActionDescriptor();
    var idtop = stringIDToTypeID( "top" );
    var idpixelsUnit = stringIDToTypeID( "pixelsUnit" );
    desc5.putUnitDouble( idtop, idpixelsUnit, top );
    var idleft = stringIDToTypeID( "left" );
    var idpixelsUnit = stringIDToTypeID( "pixelsUnit" );
    desc5.putUnitDouble( idleft, idpixelsUnit, left );
    var idbottom = stringIDToTypeID( "bottom" );
    var idpixelsUnit = stringIDToTypeID( "pixelsUnit" );
    desc5.putUnitDouble( idbottom, idpixelsUnit, bottom );
    var idright = stringIDToTypeID( "right" );
    var idpixelsUnit = stringIDToTypeID( "pixelsUnit" );
    desc5.putUnitDouble( idright, idpixelsUnit, right );
    
var idrectangle = stringIDToTypeID( "rectangle" );
desc4.putObject( idto, idrectangle, desc5 );
var iddeepSelect = stringIDToTypeID( "deepSelect" );
desc4.putBoolean( iddeepSelect, true );
var idobjectSelectionMode = stringIDToTypeID( "objectSelectionMode" );
desc4.putInteger( idobjectSelectionMode, 0 );
var idmagicLassoAutoEnhance = stringIDToTypeID( "magicLassoAutoEnhance" );
desc4.putBoolean( idmagicLassoAutoEnhance, true );
var idsmartSubtract = stringIDToTypeID( "smartSubtract" );
desc4.putBoolean( idsmartSubtract, true );
executeAction( idset, desc4, DialogModes.NO );

Diese Codes können über den ScriptingListener ( hier verfügbar ) abgerufen werden.


Beantwortet von –
Phantomhive


Antwort geprüft von –
Timothy Miller (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like

[FIXED] PSD -Dateiformat

Ausgabe Ich versuche, eine Dokumentation des PSD-Dateiformats zu finden, damit ich eine PSD-Datei einlesen und dann die einzelnen…