Antworten auf deine Fragen:
Neues Thema erstellen

[CS6] - Bildhelligkeit über JavaScript

G

Gelöschtes Mitglied 549897

Guest

Hatte ich, ein paar Beiträge über dir. Hier das aktuelle:
Code:
 try {
  KameraOff = xml.indexOf("<tiff:Model>") + "<tiff:Model>".length;
  if(KameraOff > 0) {
  Kamera = xml.substr(KameraOff, xml.length - KameraOff);
  Kamera = Kamera.substr(0,Kamera.indexOf("</tiff:Model>"));
  }
  {
  ObjektivOff = xml.indexOf("<exif:Lens>") + "<exif:Lens>".length;
  if(ObjektivOff > 0) {
  Objektiv = xml.substr(ObjektivOff, xml.length - ObjektivOff);
  Objektiv = Objektiv.substr(0,Objektiv.indexOf("</exif:Lens>"));
  }
  {
  ShutterOff = xml.indexOf("<exif:ExposureTime>") + "<exif:ExposureTime>".length;
  if(ShutterOff > 0){
  Shutter = xml.substr(ShutterOff, xml.length - ShutterOff);
  Shutter = Shutter.substr(0,Shutter.indexOf("</exif:ExposureTime>"));
  }
  {
  BlendeOff = xml.indexOf("<exif:Fnumber>") + "<exif:Fnumber>".length;
  if(BlendeOff> 0){
  Blende = xml.substr(BlendeOff, xml.length - BlendeOff);
  Blende = Blende.substr(0,Blende.indexOf("</exif:Fnumber>"));
  }}}}}
  catch(e){}
 

Photoshop

Öhem?
Das ist der von ph_o_e_n_ix zusammengefasste try - catch -Block (von dem ich ehrlich gesagt nicht viel halte, aber egal)
Wo ist denn deine eigene nicht funktionierende „ausgebaute Funktion“?
Wenn das so zäh wie bisher weiter geht, dann verrate ich dir entweder der Einfachheit halber die Lösung oder oder aber ich verabschiede mich komplett aus diesem Thema.
 
G

Gelöschtes Mitglied 549897

Guest

Das ist das Script:
Code:
#target Photoshop
app.bringToFront();
try{
    var doc = app.activeDocument;
}
catch(e){
    alert = ("Kein Dokument gefunden", "Dokumentenfehler");
}
//Variablen für die Werte
var Blende = "";
var ISO = "";
var Shutter = "";
var Objektiv = "";
var Kamera = "";
var Brennweite = "";
//Variablen für Offset
var BlendeOff = "";
var ISOOff = "";
var ShutterOff = "";
var ObjektivOff = "";
var KameraOff = "";
var BrennweiteOff ="";
//Variablen für den Text
var farbe = "";

/*****************************
*   DATENERFASSUNG    *
****************************/
    xml = doc.xmpMetadata.rawData;
    var exifInfo = "";
try {
  KameraOff = xml.indexOf("<tiff:Model>") + "<tiff:Model>".length;
  if(KameraOff > 0) {
  Kamera = xml.substr(KameraOff, xml.length - KameraOff);
  Kamera = Kamera.substr(0,Kamera.indexOf("</tiff:Model>"));
  }
  {
  ObjektivOff = xml.indexOf("<exif:Lens>") + "<exif:Lens>".length;
  if(ObjektivOff > 0) {
  Objektiv = xml.substr(ObjektivOff, xml.length - ObjektivOff);
  Objektiv = Objektiv.substr(0,Objektiv.indexOf("</exif:Lens>"));
  }
  {
  ShutterOff = xml.indexOf("<exif:ExposureTime>") + "<exif:ExposureTime>".length;
  if(ShutterOff > 0){
  Shutter = xml.substr(ShutterOff, xml.length - ShutterOff);
  Shutter = Shutter.substr(0,Shutter.indexOf("</exif:ExposureTime>"));
  }
  {
  BlendeOff = xml.indexOf("<exif:Fnumber>") + "<exif:Fnumber>".length;
  if(BlendeOff> 0){
  Blende = xml.substr(BlendeOff, xml.length - BlendeOff);
  Blende = Blende.substr(0,Blende.indexOf("</exif:Fnumber>"));
  }
  {
  BrennweiteOff = xml.indexOf("<exif:FocalLength>") + "<exif:FocalLength>".length;
  if(BrennweiteOff> 0){
  Brennweite = xml.Substr(BrennweiteOff, xml.length - BrennweiteOff);
  Brennweite = Blende.substr(0,Brennweite.indexOf("</exif:FocalLength>"));
  }
  }}}}}
  catch(e){}
function schemadialog(){
    var dialog = new Window ('dialog','Farbschema', [200,200,500,365]);
    dialog.oben = dialog.add('panel',[15,10,285,80],'Bitte wählen sie eines der Farbschemen aus!');
    dialog.oben.radio1 = dialog.oben.add ('radiobutton', [15,0,100,80],'Hell');
    dialog.oben.radio1.value = true;
    dialog.oben.radio2 = dialog.oben.add ('radiobutton', [107,0,200,80],'Dunkel');
    dialog.unten = dialog.add('panel', [15,90,285,150],'Ausführen');
    dialog.unten.ok = dialog.unten.add('button', [25,15,85,35],'Ok', {name:'ok'});
    dialog.unten.cancel = dialog.unten.add('button', [100,15,200,35],'Abbrechen', {name:'cancel'});
    ok = dialog.show() == 1;
    if (dialog.oben.radio1.value) {
farbe = new SolidColor
    farbe.rgb.red = 255
    farbe.rgb.green = 255
    farbe.rgb.blue = 255
    }
else {
farbe = new SolidColor
    farbe.rgb.red = 0
    farbe.rgb.green = 0
    farbe.rgb.blue = 0
    }
};
function generatetext(Kamera, Objektiv, Blende, Shutter, Brennweite) {
var textebene = doc.artLayers.add();
    textebene.kind = LayerKind.TEXT;
    var textRef = textebene.textItem;
    textebene.textItem.kind = TextType.POINTTEXT;
    textebene.name = "EXIF";
    textebene.textItem.contents = Kamera + " mit " + Objektiv + " bei " + Brennweite + "mm, " + Blende + ", " + Shutter;
    textebene.textItem.color = farbe;
    textebene.textItem.size = 16;
    textebene.textItem.font = "MyriadPro-LightIt";
    textebene.textItem.position =  [10,1187];
    }
schemadialog();
if(ok == 1) {
    generatetext(Kamera, Objektiv, Blende, Shutter, Brennweite);
}

Das sind die RAWdaten, ein wenig auf das wesentliche gekürzt:
Code:
<rdf:Description rdf:about=""
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
         <tiff:XResolution>240/1</tiff:XResolution>
         <tiff:YResolution>240/1</tiff:YResolution>
         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
         <tiff:Make>Canon</tiff:Make>
         <tiff:Model>Canon EOS 60D</tiff:Model>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:exif="http://ns.adobe.com/exif/1.0/">
         <exif:ExifVersion>0230</exif:ExifVersion>
         <exif:PixelXDimension>5184</exif:PixelXDimension>
         <exif:PixelYDimension>3456</exif:PixelYDimension>
         <exif:DateTimeOriginal>2014-03-10T19:07:25</exif:DateTimeOriginal>
         <exif:ExposureTime>4/1</exif:ExposureTime>
         <exif:FNumber>8/1</exif:FNumber>
         <exif:ExposureProgram>1</exif:ExposureProgram>
         <exif:ISOSpeedRatings>
            <rdf:Seq>
               <rdf:li>100</rdf:li>
            </rdf:Seq>
         </exif:ISOSpeedRatings>
         <exif:ShutterSpeedValue>-2/1</exif:ShutterSpeedValue>
         <exif:ApertureValue>6000000/1000000</exif:ApertureValue>
         <exif:ExposureBiasValue>0/1</exif:ExposureBiasValue>
         <exif:MaxApertureValue>175/100</exif:MaxApertureValue>
         <exif:MeteringMode>3</exif:MeteringMode>
         <exif:Flash rdf:parseType="Resource">
            <exif:Fired>False</exif:Fired>
            <exif:Return>0</exif:Return>
            <exif:Mode>2</exif:Mode>
            <exif:Function>False</exif:Function>
            <exif:RedEyeMode>False</exif:RedEyeMode>
         </exif:Flash>
         <exif:FocalLength>50/1</exif:FocalLength>
         <exif:FocalPlaneXResolution>5184000/905</exif:FocalPlaneXResolution>
         <exif:FocalPlaneYResolution>3456000/595</exif:FocalPlaneYResolution>
         <exif:FocalPlaneResolutionUnit>2</exif:FocalPlaneResolutionUnit>
         <exif:CustomRendered>0</exif:CustomRendered>
         <exif:ExposureMode>1</exif:ExposureMode>
         <exif:WhiteBalance>0</exif:WhiteBalance>
         <exif:SceneCaptureType>0</exif:SceneCaptureType>
         <exif:SubSecTime>28</exif:SubSecTime>
         <exif:SubSecTimeOriginal>28</exif:SubSecTimeOriginal>
         <exif:SubSecTimeDigitized>28</exif:SubSecTimeDigitized>
         <exif:OwnerName>Leonhard Kreissig</exif:OwnerName>
         <exif:SerialNumber>2211201644</exif:SerialNumber>
         <exif:LensInfo>
            <rdf:Seq>
               <rdf:li>50/1</rdf:li>
            </rdf:Seq>
         </exif:LensInfo>
         <exif:Lens>EF50mm f/1.8 II</exif:Lens>
         <exif:LensSerialNumber>0000000000</exif:LensSerialNumber>
         <exif:SensitivityType>2</exif:SensitivityType>
         <exif:RecommendedExposureIndex>100</exif:RecommendedExposureIndex>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>

Und das ist die Textebene:
Code:
Canon EOS 60D mit EF50mm f/1.8 II bei mm, , 4/1

ISO hab ich auch noch nicht definiert bekommen, da das ja ziemlich verschachtelt ist.
 
Zuletzt bearbeitet von einem Moderator:

ph_o_e_n_ix

acromyniker

Hier mal eine kleine Starthilfe...

Code:
#target Photoshop
app.bringToFront();

if (!documents.length) {file = app.openDialog();
if(file[0]){
   app.load(file[0]);
var doc= app.activeDocument;;
}} else {

var doc = app.activeDocument;
};

//Variablen für die Werte
var Blende = "";
var ISO = "";
var Shutter = "";
var Objektiv = "";
var Kamera = "";
var Brennweite = "";
//Variablen für Offset
var BlendeOff = "";
var ISOOff = "";
var ShutterOff = "";
var ObjektivOff = "";
var KameraOff = "";
var BrennweiteOff ="";
//Variablen für den Text
var farbe = "";
var größe = 16;
var font = "MyriadPro-LightIt";

/*****************************
*   DATENERFASSUNG    *
****************************/
    xml = doc.xmpMetadata.rawData;
    var exifInfo = "";
try {
  KameraOff = xml.indexOf("<tiff:Model>") + "<tiff:Model>".length;
  if(KameraOff > 0) {
  Kamera = xml.substr(KameraOff, xml.length - KameraOff);
  Kamera = Kamera.substr(0,Kamera.indexOf("</tiff:Model>"));
  }
  {
  ObjektivOff = xml.indexOf("<exif:Lens>") + "<exif:Lens>".length;
  if(ObjektivOff > 0) {
  Objektiv = xml.substr(ObjektivOff, xml.length - ObjektivOff);
  Objektiv = Objektiv.substr(0,Objektiv.indexOf("</exif:Lens>"));
  }
  {
  ShutterOff = xml.indexOf("<exif:ExposureTime>") + "<exif:ExposureTime>".length;
  if(ShutterOff > 0){
  Shutter = xml.substr(ShutterOff, xml.length - ShutterOff);
  Shutter = Shutter.substr(0,Shutter.indexOf("</exif:ExposureTime>"));
  }
  {
  BlendeOff = xml.indexOf("<exif:FNumber>") + "<exif:FNumber>".length;
  if(BlendeOff> 0){
  Blende = xml.substr(BlendeOff, xml.length - BlendeOff);
  Blende = Blende.substr(0,Blende.indexOf("</exif:FNumber>"));
  }
  {
  BrennweiteOff = xml.indexOf("<exif:FocalLength>") + "<exif:FocalLength>".length;
  if(BrennweiteOff> 0){
  Brennweite = xml.substr(BrennweiteOff, xml.length - BrennweiteOff);
  Brennweite = Brennweite.substr(0,Brennweite.indexOf("</exif:FocalLength>"));
  }
  }}}}}
  catch(e){}
function schemadialog(){
    var dialog = new Window ('dialog','Farbschema', [200,200,500,365]);
    dialog.oben = dialog.add('panel',[15,10,285,80],'Bitte wählen sie eines der Farbschemen aus!');
    dialog.oben.radio1 = dialog.oben.add ('radiobutton', [15,0,100,80],'Hell');
    dialog.oben.radio1.value = true;
    dialog.oben.radio2 = dialog.oben.add ('radiobutton', [107,0,200,80],'Dunkel');
    dialog.unten = dialog.add('panel', [15,90,285,150],'Ausführen');
    dialog.unten.ok = dialog.unten.add('button', [25,15,85,35],'Ok', {name:'ok'});
    dialog.unten.cancel = dialog.unten.add('button', [100,15,200,35],'Abbrechen', {name:'cancel'});
    ok = dialog.show() == 1;
    if (dialog.oben.radio1.value) {
farbe = new SolidColor
    farbe.rgb.red = 255
    farbe.rgb.green = 255
    farbe.rgb.blue = 255
    }
else {
farbe = new SolidColor
    farbe.rgb.red = 0
    farbe.rgb.green = 0
    farbe.rgb.blue = 0
    }
};
function generatetext(Kamera, Objektiv, Blende, Shutter, Brennweite) {
var textebene = doc.artLayers.add();
    textebene.kind = LayerKind.TEXT;
    var textRef = textebene.textItem;
    textebene.textItem.kind = TextType.POINTTEXT;
    textebene.name = "EXIF";
    textebene.textItem.contents = Kamera + " mit " + Objektiv + " bei " + Brennweite + "mm, " + Blende + ", " + Shutter;
    textebene.textItem.color = farbe;
    textebene.textItem.size = größe;
    textebene.textItem.font = font;
    textebene.textItem.position =  [10,1187];
    }
schemadialog();
if(ok == 1) {
    generatetext(Kamera, Objektiv, Blende, Shutter, Brennweite);
}
 
G

Gelöschtes Mitglied 549897

Guest

Oh, danke. Funktioniert so weit. Wie bekomm ich denn diese Verschachtelte Position des ISO-Speeds raus? Denn wenn ich sage
Code:
ISOOff = xml.indexOf("<exif:ISOSpeedRatings>
kann ich ja nicht die Klammer über eine zweite Zeile führen, um die Absätze und Tabulatoren/Leerzeichen der Metadaten darzustellen. Wie kann ich das extrahieren?

Und: Wie kann ich z.b. 18/1 in f1.8, 4/1 in 4s, oder 4/1000 in 1/250s umrechnen/formatieren? Zur Not könnte man das ja so lösen:
Code:
if (Blende == 18/10){
Blende = "1.8s"
}
etc
 

ph_o_e_n_ix

acromyniker

Code:
if (Blende == 18/10){ Blende = "1.8s" }
Abgesehen davon, dass deine Lösung statisch wäre (würde also bei anderen Werten nicht funktionieren), ist mir nun schon mehr als einmal aufgefallen, dass du ziemlich sorglos mit irgendwelchen Variablen/Werten/Befehlen umgehst ... da wird mal die Groß- und Kleinschreibung missachtet, Abfragen nur halb umgesetzt oder wie hier Dinge zusammengewürfelt, die nicht zusammen gehören (Blende und als Maßeinheit s????). Gerade beim Skripten haben solche Nachlässigkeiten früher oder später irgendwelche negativen Auswirkungen und sollten möglichst vermieden werden.

Beim auslesen des ISO-Wertes darf dir gerne pixxxelschubbser weiterhelfen - bis dahin kannst du dich ja mal mit der Lektüre von Adobe zum Thema XMP beschäftigen...





Wie auch immer - hier eine weitere Hilfestellung (in einer dir hoffentlich verständlichen Methode)...

Code:
#target Photoshop
app.bringToFront();

if (!documents.length) {file = app.openDialog();
if(file[0]){
   app.load(file[0]);
var doc= app.activeDocument;;
}} else {

var doc = app.activeDocument;
};

//Variablen für die Werte
var Blende = "";
var ISO = "";
var Shutter = "";
var Objektiv = "";
var Kamera = "";
var Brennweite = "";
//Variablen für Offset
var BlendeOff = "";
var ISOOff = "";
var ShutterOff = "";
var ObjektivOff = "";
var KameraOff = "";
var BrennweiteOff ="";
//Variablen für den Text
var farbe = "";
var größe = 16;
var font = "MyriadPro-LightIt";

/*****************************
*   DATENERFASSUNG    *
****************************/
    xml = doc.xmpMetadata.rawData;
    var exifInfo = "";
try {
  KameraOff = xml.indexOf("<tiff:Model>") + "<tiff:Model>".length;
  if(KameraOff > 0) {
  Kamera = xml.substr(KameraOff, xml.length - KameraOff);
  Kamera = Kamera.substr(0,Kamera.indexOf("</tiff:Model>"));
  }
  {
  ObjektivOff = xml.indexOf("<exif:Lens>") + "<exif:Lens>".length;
  if(ObjektivOff > 0) {
  Objektiv = xml.substr(ObjektivOff, xml.length - ObjektivOff);
  Objektiv = Objektiv.substr(0,Objektiv.indexOf("</exif:Lens>"));
  }
  {
  ShutterOff = xml.indexOf("<exif:ExposureTime>") + "<exif:ExposureTime>".length;
  if(ShutterOff > 0){
  Shutter = xml.substr(ShutterOff, xml.length - ShutterOff);
  Shutter = Shutter.substr(0,Shutter.indexOf("</exif:ExposureTime>"));
  Shutter = Shutter + "s"
  }
  {
  BlendeOff = xml.indexOf("<exif:FNumber>") + "<exif:FNumber>".length;
  if(BlendeOff> 0){
  Blende = xml.substr(BlendeOff, xml.length - BlendeOff);
  Blende = Blende.substr(0,Blende.indexOf("</exif:FNumber>"));
  Blende = Blende.replace("/10", "");
  Blende = "f/" + Blende/10;
  }
  {
  BrennweiteOff = xml.indexOf("<exif:FocalLength>") + "<exif:FocalLength>".length;
  if(BrennweiteOff > 0){
  Brennweite = xml.substr(BrennweiteOff, xml.length - BrennweiteOff);
  Brennweite = Brennweite.substr(0,Brennweite.indexOf("</exif:FocalLength>"));
  Brennweite = Brennweite.replace("/1", "mm");
  }
}}}}}
  catch(e){}
function schemadialog(){
    var dialog = new Window ('dialog','Farbschema', [200,200,500,365]);
    dialog.oben = dialog.add('panel',[15,10,285,80],'Bitte wählen sie eines der Farbschemen aus!');
    dialog.oben.radio1 = dialog.oben.add ('radiobutton', [15,0,100,80],'Hell');
    dialog.oben.radio1.value = true;
    dialog.oben.radio2 = dialog.oben.add ('radiobutton', [107,0,200,80],'Dunkel');
    dialog.unten = dialog.add('panel', [15,90,285,150],'Ausführen');
    dialog.unten.ok = dialog.unten.add('button', [25,15,85,35],'Ok', {name:'ok'});
    dialog.unten.cancel = dialog.unten.add('button', [100,15,200,35],'Abbrechen', {name:'cancel'});
    ok = dialog.show() == 1;
    if (dialog.oben.radio1.value) {
farbe = new SolidColor
    farbe.rgb.red = 255
    farbe.rgb.green = 255
    farbe.rgb.blue = 255
    }
else {
farbe = new SolidColor
    farbe.rgb.red = 0
    farbe.rgb.green = 0
    farbe.rgb.blue = 0
    }
};
function generatetext(Kamera, Objektiv, Blende, Shutter, Brennweite, ISO) {
var textebene = doc.artLayers.add();
    textebene.kind = LayerKind.TEXT;
    var textRef = textebene.textItem;
    textebene.textItem.kind = TextType.POINTTEXT;
    textebene.name = "EXIF";
    textebene.textItem.contents = Kamera + " mit " + Objektiv + " bei " + Brennweite + ", " + Blende + ", " + Shutter + ", " + ISO;
    textebene.textItem.color = farbe;
    textebene.textItem.size = größe;
    textebene.textItem.font = font;
    textebene.textItem.position =  [10,1187];
    }
schemadialog();
if(ok == 1) {
    generatetext(Kamera, Objektiv, Blende, Shutter, Brennweite, ISO);
}
 
Zuletzt bearbeitet:
… Wie bekomm ich denn diese Verschachtelte Position des ISO-Speeds raus? Denn wenn ich sage
Code:
ISOOff = xml.indexOf("<exif:ISOSpeedRatings>

Wie gesagt, ich halte persönlich nicht viel von der von Euch verwendeten Variante (xml auszählen und prüfen ob Teilstring vorhanden ist und Stelle des Teilstrings zählen und diese von der Anzahl der Gesamtzeichen des Gesamtstring abziehen und etc. --> möglich ja, aber lästig und langwierig - brrrr)

Einmal auf Verdacht (ohne eine deine Dateien zum Testen zur Verfügung zu haben) und in der Hoffnung, dass ISOSpeedRatings wirklich die ISO zurückgibt (ist Javascript, nur der Auszeichnung halber als PHP deklariert):
PHP:
#target Photoshop
// http://www.psd-tutorials.de/forum/threads/bildhelligkeit-ueber-javascript.161262/
// teste das einmal mit deinen RAW/DNG
// pixxxelschubser
if (app.documents.length >0) {
    var doc = app.activeDocument;
    var result = null;
     var xml = doc.xmpMetadata.rawData;
     var _String = /<exif:ISOSpeedRatings>\s*<rdf:Seq>\s*<rdf:li>(\d*)<\/rdf:li>/;
     result = _String.exec(xml);
     if (!result) {
         alert("Kein ISO gefunden.");
         } else {alert ("ISO: "+result[1])}
         } else {alert ("Kein Dokument gefunden", "Dokumentenfehler")}

Probiers einfach einmal aus und gib Nachricht.
;)
 
Zuletzt bearbeitet:

ph_o_e_n_ix

acromyniker

Mir musst du das nicht sagen, dass die von TheLion6 gewählte Methode nicht die einfachste ist (ich persönlich greife lieber direkt auf die Tag-IDs zu (z.B. 33434 für die Belichtungszeit) - ich hab ja nur das korrigiert/ergänzt, was er vorgegeben hat.
 
G

Gelöschtes Mitglied 549897

Guest

Sorry, dass ich mich erst jetzt melde. WIe greife ich denn auf die Tag-IDs zu, Google hat mir leider nicht sonderlich viel geholfen, bis auf, dass ich jetzt eine Liste mit allen IDs gefunden habe.
 
Ja, schade.

Du ignorierst meine Antworten, es gibt weder ein Feedback von dir, noch ein Danke.
Und die Quellen der von dir gefundenen ID-Liste gibst du auch nicht an (dürfen die Helfer denn jetzt auch noch selbst danach suchen???).
:rolleyes:

Also ich für mein Teil bin jetzt wirklich raus aus dem Thread.
 
G

Gelöschtes Mitglied 549897

Guest

Natürlich habt ihr meinen größten Dank, ich bin jedoch nicht davon ausgegangen, dass es als nötig empfunden wird, das unter jeden Beitrag zu schreiben. Ich hatte vor, mich, sobald eine gute und sinnvolle Lösung des Problems besteht, umfassend für die Mühe zu bedanken und für die maltretierten Nerven zu entschuldigen.
Die Liste habe ich über Wikipedia hier gefunden: http://www.jojosoftware.de/jojothumb/anleitung/jjt_doc802.htm

Deine Möglichkeit hatte ich jetzt noch nicht probiert, da ich mir von der ID-Möglichkeit erst einmal eine einfachere Lösung erhofft habe.
 

ph_o_e_n_ix

acromyniker

Ich denke, da spreche ich nicht nur für mich...

Hier erwartet mit Sicherheit niemand, dass du einen Kniefall nach dem anderen machst oder dich vor Dankbarkeit in den Schmutz wirfst...

Es sollte aber selbstverständlich sein, dass man zumindest ein kurzes Feedback hinterlässt, wenn jemand eine Lösung gepostet hat (es wurde ja sogar darum gebeten, dass du es ausprobierst). Alleine bei der Aussage, dass du pixxxelschubsers Lösung nicht mal probiert hast, sondern dich schon wieder nach einer Alternative umsiehst, lässt es mir den Kamm anschwellen. Das ist nicht nur respektlos pixxxelschubser gegenüber, sondern in deinem Fall auch unnötig.

Die von pixxxelschubser gepostete Lösung funktioniert - was willst du mehr? Nur weil WIR eventuell andere Ansprüche/Vorgehensweisen haben, heißt das ja nicht, dass deine Methode falsch ist (sie ist nur umständlich). Letztendlich zählt aber das Ergebnis und nicht der Weg dahin.

Wenn es dir darum geht, ein möglichst effizientes/professionelles Skript zu erstellen, dann solltest du dich erstmal mit den Grundlagen der Javascript-Programmierung das nächste halbe Jahr auseinandersetzen und dann anfangen die photoshop-eigenen Funktionen und die zuvor geposteten PDFs zum Thema XMP verinnerlichen.

Wenn du DANN noch fragen hast, kann man sich der Sache sicherlich wieder annehmen.
 
Zuletzt bearbeitet:
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

Statistik des Forums

Themen
118.635
Beiträge
1.538.457
Mitglieder
67.558
Neuestes Mitglied
StarsMan
Oben