Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 42

Thema: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???

  1. #21
    Free-Member Avatar von Olav
    Registriert seit
    02.10.2005
    Beiträge
    79

    Standard AW: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???

    Zitat Bezug auf die Nachricht von Dr. Vo
    Histogramm schaue ich mir mal an, das ist eine interessante Idee. Gib mal das Beispiel her.
    Das Beispiel ist in der "JavaScript Reference Guide.pdf" (...Programme\Adobe\Adobe Photoshop CS2\Skript Handbuch\) ist auf Seite 78 und heißt Histogram.jsx; der Code ist etwas lang, den muß ich erstmal formatieren, ich füge den dann hier noch an.

  2. #22
    Free-Member Avatar von Olav
    Registriert seit
    02.10.2005
    Beiträge
    79

    Standard AW: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???

    so, hier das Script Histogram.jsx aus dem Handbuch
    Code:
    // Save the current preferences
    var startRulerUnits = app.preferences.rulerUnits
    var startTypeUnits = app.preferences.typeUnits
    var startDisplayDialogs = app.displayDialogs
    
    // Set Adobe Photoshop CS2 to use pixels and display no dialogs
    app.preferences.rulerUnits = Units.PIXELS
    app.preferences.typeUnits = TypeUnits.PIXELS
    app.displayDialogs = DialogModes.NO
    
    // if there are no documents open then try to open a sample file
    if (app.documents.length == 0) {
       open(File(app.path + "/Samples/Eagle.psd"))
    }
    
    // get a reference to the working document
    var docRef = app.activeDocument
    
    // create the output file
    // first figure out which kind of line feeds we need
    if ($.os.search(/windows/i) != -1) {
       fileLineFeed = "windows"
    } else {
       fileLineFeed = "macintosh"
    }
    
    // create the output file accordingly
    fileOut = new File("~/Desktop/Histogram.log")
    fileOut.lineFeed = fileLineFeed
    fileOut.open("w", "TEXT", "????")
    
    // write out a header
    fileOut.write("Histogram report for " + docRef.name)
    
    // find out how many pixels I have
    var totalCount = docRef.width.value * docRef.height.value
    
    // more info to the out file
    fileOut.write(" with a total pixel count of " + totalCount + "\n")
    
    // channel indexer
    var channelIndex = 0
    
    // remember which channels are currently active
    var activeChannels = app.activeDocument.activeChannels
    
    // document histogram only works in these modes
    if (docRef.mode == DocumentMode.RGB ||
       docRef.mode == DocumentMode.INDEXEDCOLOR ||
       docRef.mode == DocumentMode.CMYK) {
    
       // activate the main channels so we can get the documents histogram
       TurnOnDocumentHistogramChannels(docRef)
    
       // Output the documents histogram
       OutputHistogram(docRef.histogram, "Luminosity", fileOut)
    }
    
    // local reference to work from
    var myChannels = docRef.channels
    
    // loop through each channel and output the histogram
    for (var channelIndex = 0; channelIndex < myChannels.length; channelIndex++) {
    
       // the channel has to be visible to get a histogram
       myChannels[channelIndex].visible= true
    
       // turn off all the other channels
       for (var secondaryIndex = 0; secondaryIndex < myChannels.length;
    			  secondaryIndex++) {
    		   if (channelIndex != secondaryIndex) {
    			  myChannels[secondaryIndex].visible= false
    	   }
       }
    
       // Use the function to dump the histogram
       OutputHistogram(myChannels[channelIndex].histogram,
    		  myChannels[channelIndex].name, fileOut)
    }
    
    // close down the output file
    fileOut.close()
    
    // reset the active channels
    docRef.activeChannels = activeChannels
    
    // Reset the application preferences
    app.preferences.rulerUnits = startRulerUnits
    app.preferences.typeUnits = startTypeUnits
    app.displayDialogs = startDisplayDialogs
    
    // Utility function that takes a histogram and name
    // and dumps to the output file
    function OutputHistogram(inHistogram, inHistogramName, inOutFile) {
    
       // find ouch which count has the largest number
       // I scale everything to this number for the output
       var largestCount = 0
    
       // a simple indexer I can reuse
       var histogramIndex = 0
    
       // see how many samples we have total
       var histogramCount = 0
    
       // search through all and find the largest single item
       for (histogramIndex = 0; histogramIndex < inHistogram.length;
    			 histogramIndex++) {
    		  histogramCount += inHistogram[histogramIndex]
    		  if (inHistogram[histogramIndex] > largestCount)
    			 largestCount = inHistogram[histogramIndex]
       }
    
       // These should match
       if (histogramCount != totalCount) {
    		  alert("Something bad is happening!")
       }
      
       // see how much each "X" is going to count as
       var pixelsPerX = largestCount / 100
    
       // output this data to the file
       inOutFile.write("One X = " + pixelsPerX + " pixels.\n")
    
       // output the name of this histogram
       inOutFile.write(inHistogramName + "\n")
    
       // loop through all the items and output in the following format
       // 001
       // 002
       for (histogramIndex = 0; histogramIndex < inHistogram.length;
    			 histogramIndex++) {
    
    	  // I need an extra "0" for this line item to keep everything in line
    	  if (histogramIndex < 10)
    		 inOutFile.write("0")
    
    	  // I need an extra "0" for this line item to keep everything in line
    	  if (histogramIndex < 100)
    		 inOutFile.write("0")
    
    	  // output the index to file
    	  inOutFile.write(histogramIndex)
    
    	  // some spacing to make it look nice
    	  inOutFile.write(" ")
    
    	  // figure out how many X’s I need
    	  var outputX = inHistogram[histogramIndex] / largestCount * 100
    
    	  // output the X’s
    	  for (var a = 0; a < outputX; a++)
    		 inOutFile.write("X")
    
    	  inOutFile.write("\n")
       }
    
       inOutFile.write("\n")
    }
    
    // Function to active all the channels according to the documents mode
    // Takes a document reference for input
    function TurnOnDocumentHistogramChannels(inDocument) {
    
       // see how many channels we need to activate
       var visibleChannelCount = 0
    
       // based on the mode of the document
       switch (inDocument.mode) {
    
    	  case DocumentMode.BITMAP:
    	  case DocumentMode.GRAYSCALE:
    	  case DocumentMode.INDEXEDCOLOR:
    		 visibleChannelCount = 1
    		 break;
    
    	  case DocumentMode.DUOTONE:
    		 visibleChannelCount = 2
    		 break;
    
    	  case DocumentMode.RGB:
    	  case DocumentMode.LAB:
    		 visibleChannelCount = 3
    		 break;
    
    	  case DocumentMode.CMYK:
    		 visibleChannelCount = 4
    		 break;
    
    	  case DocumentMode.DUOTONE:
    		 visibleChannelCount = 4
    		 break;
    
    	  case DocumentMode.MULTICHANNEL:
    	  default:
    		 visibleChannelCount = inDocument.channels.length + 1
    		 break;
    }
    
    // now get the channels to activate into a local array
    var aChannelArray = new Array()
    
    // index for the active channels array
    var aChannelIndex = 0
    
    for(var channelIndex = 0; channelIndex < inDocument.channels.length;
    		  channelIndex++) {
    	   if (channelIndex < visibleChannelCount) {
    		  aChannelArray[aChannelIndex++] = inDocument.channels[channelIndex]
       }
    }
    
    // now activate them
    inDocument.activeChannels = aChannelArray
    
    }

  3. #23
    ehemaliger Benutzer
    Gast

    Standard AW: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???

    Das Script histogram.jsx legt auf dem Desktop eine neue Datei an und schreibt verschiedene Histogramme als Balkendiagramme hinein.
    Im Scriptbeispiel paths.jsx (ebenfalls im Java Script Reference Guide) ist erklärt, wie man über Script Linien zeichnet.
    Beide Scripts müsste man für ein Histogramm als extra Layer kombinieren:
    Neuen Layer anlegen (255 Pixel breit) und dann senkrechte Linien in der entsprechenden Länge für jeden der 255 Histogrammpunkte zeichnen.

    Gruß

  4. #24
    Free-Member Avatar von Olav
    Registriert seit
    02.10.2005
    Beiträge
    79

    Standard AW: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???

    @Dr. Vo
    Die Linien für das Histogramm habe ich jetzt mit den ScriptingListener aufgezeichnet, anders bekomme ich das nicht gebacken (neuer Pfad; Linie + Linie usw.; Füllen, Pfad löschen). Das ganze ist aber recht langsam, was wohl daran liegt, daß der Code vom ScriptingListener nicht gerade optimal ist.

    Es muß doch einen einfachen Befehl in der Art: zeichne Linie von x,y bis x',y' geben, finde dazu aber nichts in der Scriptreferenz. Dein Tip mit dem Scriptbeispiel paths.jsx funktioniert bei mir überhaupt nicht. Naja und ohne englisch Kenntnisse schaue ich in die Scriptreferenz wie ein Schwein ins Uhrwerk

  5. #25
    ehemaliger Benutzer
    Gast

    Standard AW: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???

    Zitat Bezug auf die Nachricht von Olav
    @Dr. Vo
    Die Linien für das Histogramm habe ich jetzt mit den ScriptingListener aufgezeichnet, anders bekomme ich das nicht gebacken (neuer Pfad; Linie + Linie usw.; Füllen, Pfad löschen). Das ganze ist aber recht langsam, was wohl daran liegt, daß der Code vom ScriptingListener nicht gerade optimal ist.

    Es muß doch einen einfachen Befehl in der Art: zeichne Linie von x,y bis x',y' geben, finde dazu aber nichts in der Scriptreferenz. Dein Tip mit dem Scriptbeispiel paths.jsx funktioniert bei mir überhaupt nicht. Naja und ohne englisch Kenntnisse schaue ich in die Scriptreferenz wie ein Schwein ins Uhrwerk
    Ich habe beim Kopieren der Beispielscripte in meinen Lieblingseditor (Notepad ) immer Probleme mit den Gänsefüßchen. Wenn ich die durch neu eingetippte ersetze, funktioniert das Script normalerweise. Im Beispielscript paths.jsx ist allerdings ein Fehler in der Zeile
    lineArray31].leftDirection = Array(100, 50)
    Es muss
    lineArray3[1].leftDirection = Array(100, 50)
    sein, d. h. die erste öffnende eckige Klammer fehlt.

    Hier ein ganz rudimentäres Scriptbeispiel für das Zeichnen von Linien. Es soll eine Art Treppe ergeben, vorher von Hand Vordergrundfarbe schwarz und Hintergrundfarbe weiß einstellen.

    Code:
     
    var startRulerUnits = app.preferences.rulerUnits;
    var startTypeUnits = app.preferences.typeUnits;
    var startDisplayDialogs = app.displayDialogs;
    app.preferences.rulerUnits = Units.PIXELS;
    app.preferences.typeUnits = TypeUnits.PIXELS;
    app.displayDialogs = DialogModes.NO;
    // Neues Dokument anlegen
    var docRef = app.documents.add(255, 255, 72, "Treppe", NewDocumentMode.RGB);
    var lineSubPathArray = new Array();
    for (var i = 0; i < 255; i++)
    {
    var lineArray = new Array();
    // ersten Eckpunkt der Linie anlegen
    lineArray[0] = new PathPointInfo;
    lineArray[0].kind = PointKind.CORNERPOINT;
    lineArray[0].anchor = Array(i, 255);
    lineArray[0].leftDirection = lineArray[0].anchor;
    lineArray[0].rightDirection = lineArray[0].anchor;
     
    // zweiten Eckpunkt der Linie anlegen
    lineArray[1] = new PathPointInfo;
    lineArray[1].kind = PointKind.CORNERPOINT;
    lineArray[1].anchor = Array(i, 255 - i);
    lineArray[1].leftDirection = lineArray[1].anchor;
    lineArray[1].rightDirection = lineArray[1].anchor;
     
    lineSubPathArray[0]= new SubPathInfo();
    lineSubPathArray[0].operation = ShapeOperation.SHAPEXOR;
    lineSubPathArray[0].closed = false;
    lineSubPathArray[0].entireSubPath = lineArray;
    // neuen Pfad anlegen
    var myPathItem = docRef.pathItems.add(String(i), lineSubPathArray);
    // und zeichnen
    myPathItem.strokePath(ToolType.PENCIL);
    }
     
    app.preferences.rulerUnits = startRulerUnits;
    app.preferences.typeUnits = startTypeUnits;
    app.displayDialogs = startDisplayDialogs;
    Das lineArray[0] definiert einen Eckpunkt einer Linie, lineArray[1] den zweiten und der ganze Rest ist dann zum Anlegen des Pfades und Zeichnen der Linie. Ist jetzt alles andere als schön, da so 255 Pfade angelegt werden. Das müsste man jetzt in langen Winternächten in das histogram.jsx einbauen. Mir fehlt da leider im Moment die Zeit zu.

  6. #26
    Free-Member Avatar von Olav
    Registriert seit
    02.10.2005
    Beiträge
    79

    Standard AW: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???

    @Dr. Vo

    Ich hab' den Script mal ausprobiert und mußte feststellen, daß es doch recht langsam arbeitet, was wohl an der hohen Anzahl der Pfade liegt, die bei einem Histogramm auch in ähnlicher Größenordnung zu erwarten wären.

    Ich habe derweil verschieden Sachen ausprobiert.

    Meine Lösung ist nun das Erstellen einer Auswahl die 1 Pixel breit und zum entsprechenden Tonwert hoch ist, das ganze von Tonwert 0 bis 255. Anschließen eine Ebene erstellen und diese mit Farbe füllen.

    Das Histogramm zeichne ich nun wie folgt:
    Code:
    for (histogramIndex = 0; histogramIndex < inHistogram.length; histogramIndex++) {
    		var outputX = inHistogram[histogramIndex] / largestCount * 100
    		sel(docBreite - 256 - Rand_rechts + histogramIndex, docHoehe - Rand_unten - outputX, outputX, 1)
    	}
    	var layer_hh = docRef.artLayers.add()
    		layer_hh.name = "Histogramm"
    		layer_hh.fillOpacity = 67
    	docRef.selection.fill(Color_Histogramm)
    	docRef.selection.deselect()
    }
    die Funktion sel() erstellt die Auswahl an der Position x, y mit einer Breite von b und einer Höhe von h. SelectionType.EXTEND sorgt dafür das die Auswahl erweitert wird (+Modus).
    Code:
    function sel(x,y,h,b) {
    	selRegion = Array(Array(x, y),Array(x + b, y),Array(x + b, y + h),Array(x, y + h),Array(x, y))
    	docRef.selection.select(selRegion, SelectionType.EXTEND)
    }
    Das ganze ist schon etwas schneller, dauert aber auch noch merklich, was wohl daran liegt, das sich das Histogramm an der neu erstellten Auswahl während der Abarbeitung des Scripts ständig anpasst. Hier bräuchte ich einen Befehl der Photoshop sagt, tue nichts (nichts aktuallisieren) bis du wieder an der Reihe bist.

    Ursprüglich wollte ich eine "Volltonfarbe..."-Einstellungsebene erstellen, aber auch das geht nicht (wäre eigentlich docRef.artLayers.kind = LayerKind.SOLIDFILL aber da wird gemeckert das nur TEXT oder NORMAL ginge).
    Geändert von Olav (13.10.2006 um 14:33 Uhr)

  7. #27
    Free-Member Avatar von Olav
    Registriert seit
    02.10.2005
    Beiträge
    79

    Standard AW: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???

    Die abschließende letzte } im ersten Code-Fenster ist zuviel, wollte es noch editieren, aber die häßliche 5min-AntiEdit-Sperre hatte was dagegen.

    Abbei mal ein Beispiel wie es zurzeit bei mir aussieht, ich habe praktisch drei Ebenen (Histogramm, EXIF daten, Histogramm Hintergrund), das ganze wird dann per Aktion mit Ebeneneffekten garniert, was per Script so nicht möglich wäre und dann in ein SmartObjekt umgewandelt. Dauert ganze 5s die Aktion, ist aber eine nette Spielerrei, um mal das Scripten zu lernen. Was ich noch nicht so recht verstanden habe, ist die Schriftgröße und Schriftart sowie, wie man innerhalb einer Textebene die Schriftgröße mehrmals ändern kann (also erste Zeile Schriftgröße 10, zweite 8 z.B.).


  8. #28

    Standard AW: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???
    Thread-Eröffner

    @Dr. Vo

    So, jetzt hatte ich ein wenig Zeit deinenScript zu testen und ihn nach meinen Vorstellungen anzupassen.
    Ich habe zwar keinen Plan von JavaScript aber durch Kenntnisse fühere BASIC-Programmierungen konnte ich mich etwas zurecht finden. Mein Ziel war es keine Aktionen zu verwenden und alles automatisch in nur einem Scrip laufen zu lassen.

    Veränderungen zu deinen Version sind:

    - automatische Grössenanpassung der Schrift
    - Textfarbe wird definiert
    - Schatteneffekt der Schrift (2x Scriptdurchlauf mit versetzten Koordinaten)

    Ja, wie gesagt ich habe nicht die Ahnung von Java, ich habe aus meheren Scripten die ich im Netz fand halt nur etwas zusammenkopiert.

    Programmiertechnisch nicht wirklich schön - aaaaber es läuft!
    Wer Lust und Zeit hat kann da gerne mal drinn aufräumen, und vieleicht fällt euch ja auch noch was ein damit die Schriftart nicht über

    textinhalt.font = fonts[6].postScriptName;

    sondern über fest def. SchriftNamen z.B. "ARIAL" festgelegt wird. Das würde das übertragen auf andere Rechner vereinfachen da der FONT-Wert nicht neu angepasst werden muss.
    Ach wäre eine automatische Modellerkennung und damit versehene Scriptanpassung sinnvoll. Das heisst, es wird in der EXIF das Model 30D erkannt und damit der WERT

    Datumteile = dokname.info.exif[14][1]

    automatisch eingestellt.
    Ich benutze verschiedene Kameras und das würde die arbeit erleichtern.

    So, jetzt seit ihr Programmierer gefragt.
    Ich freue mich schon auf eure Vorschläge.


    ------------------------------------------------------------------------


    // Datumteile = dokname.info.exif[12][1]. - für EOS 300D
    // Datumteile = dokname.info.exif[14][1]. - für EOS 30D
    // Datumteile = dokname.info.exif[16][1]. - für NIKON COOLPIX 5600 / OLYMPUS D100



    {
    dokname = app.activeDocument;


    // Aktions-Fenster erstellt
    var fenster = new Window('dialog', 'EXIF-Datum',[100,100,310,550]);
    fenster.zeit_check = fenster.add('checkbox',[20,60,150,80],'Datum/Uhrzeit');

    //Laden der Einstellungen
    datei = new File("~/exifparameter.txt");
    //laden()






    {

    //Einheiten abspeichern

    alteEinheiten = app.preferences.rulerUnits
    app.preferences.rulerUnits = Units.INCHES;

    //Geschuezte Ebenen ensperren

    var ebenenanzahl = app.activeDocument.layers.length
    var ebeneunten = app.activeDocument.layers[ebenenanzahl-1];

    if(ebeneunten.isBackgroundLayer)
    {
    ebeneunten.duplicate(ebeneunten,ElementPlacement.P LACEBEFORE);
    ebeneunten.remove()
    var ebenenanzahl = app.activeDocument.layers.length
    var ebeneunten = app.activeDocument.layers[ebenenanzahl-1];
    }

    // Erkennen der Dokumentengroesse und auslesen der Bilderhoehe, Festlegen der Farbe

    var aufloesung = dokname.resolution;
    var dokhoehe = dokname.height;
    var dokbreite = dokname.width;
    if(dokname.height >= dokname.width)
    {
    quer = dokname.height;
    hoch = dokname.width;
    }
    else {
    quer = dokname.width;
    hoch = dokname.height;
    }
    textfarbe = new SolidColor;
    textfarbe.rgb.red = 80;
    textfarbe.rgb.green = 80;
    textfarbe.rgb.blue = 80;




    //Hier wird der Text erstellt
    var textgroesse = hoch * 0.03 * 72
    exifebene = dokname.artLayers.add();
    exifebene.kind = LayerKind.TEXT;
    textinhalt = exifebene.textItem;
    textinhalt.justification = Justification.RIGHT
    textinhalt.position = ([quer * 0.971, hoch * 0.971]);
    textinhalt.color = textfarbe;
    textinhalt.size = textgroesse;
    textinhalt.font = fonts[6].postScriptName;

    //Abfragen der EXIF-Daten
    exif_daten = dokname.info.exif
    exif_wert = '';
    textinhalt.contents = ""

    //Datum und Uhrzeit

    {
    finde_exif("Date Time");
    zeit = exif_wert;
    alter_text = textinhalt.contents
    Datumteile = dokname.info.exif[14][1].substring(0,10).split(":");
    textinhalt.contents = Datumteile[2] + "." + Datumteile[1] + "." + Datumteile[0];
    exif_wert = '';
    }
    }
    //Funktion zum Auslesen der EXIF Daten

    function finde_exif(exif_feld)
    {
    for(i = 0; i < exif_daten.length; i++)
    {
    if(exif_feld == exif_daten[i][0])
    {
    exif_wert = exif_daten[i][1];
    }
    }
    }

    //Funktion zum automatischen Speichern der EInstellungen

    function speichern()
    {

    par1 = fenster.zeit_check.value;
    datei.open('w');
    datei.write ("S"+par1+"%$");
    datei.close();
    }
    }





    //Ist ein Bild geoeffnet
    if(app.documents.length)
    {
    dokname = app.activeDocument;


    //Hier wird das Aktions-Fenster erstellt
    var fenster = new Window('dialog', 'EXIF-Datum',[100,100,310,550]);
    fenster.zeit_check = fenster.add('checkbox',[20,60,150,80],'Datum/Uhrzeit');

    //Laden der Einstellungen
    datei = new File("~/exifparameter.txt");
    //laden()






    {

    //Einheiten abspeichern

    alteEinheiten = app.preferences.rulerUnits
    app.preferences.rulerUnits = Units.INCHES;

    //Geschuezte Ebenen ensperren

    var ebenenanzahl = app.activeDocument.layers.length
    var ebeneunten = app.activeDocument.layers[ebenenanzahl-1];

    if(ebeneunten.isBackgroundLayer)
    {
    ebeneunten.duplicate(ebeneunten,ElementPlacement.P LACEBEFORE);
    ebeneunten.remove()
    var ebenenanzahl = app.activeDocument.layers.length
    var ebeneunten = app.activeDocument.layers[ebenenanzahl-1];
    }

    // Erkennen der Dokumentengroesse und auslesen der Bilderhoehe, Festlegen der Farbe

    var aufloesung = dokname.resolution;
    var dokhoehe = dokname.height;
    var dokbreite = dokname.width;
    if(dokname.height >= dokname.width)
    {
    quer = dokname.height;
    hoch = dokname.width;
    }
    else {
    quer = dokname.width;
    hoch = dokname.height;
    }
    textfarbe = new SolidColor;
    textfarbe.rgb.red = 240;
    textfarbe.rgb.green = 110;
    textfarbe.rgb.blue = 50;




    //Hier wird der Text erstellt
    var textgroesse = hoch * 0.03 * 72
    exifebene = dokname.artLayers.add();
    exifebene.kind = LayerKind.TEXT;
    textinhalt = exifebene.textItem;
    textinhalt.justification = Justification.RIGHT
    textinhalt.position = ([quer * 0.97, hoch * 0.97]);
    textinhalt.color = textfarbe;
    textinhalt.size = textgroesse;
    textinhalt.font = fonts[6].postScriptName;

    //Abfragen der EXIF-Daten
    exif_daten = dokname.info.exif
    exif_wert = '';
    textinhalt.contents = ""

    //Datum und Uhrzeit

    {
    finde_exif("Date Time");
    zeit = exif_wert;
    alter_text = textinhalt.contents
    Datumteile = dokname.info.exif[14][1].substring(0,10).split(":");
    textinhalt.contents = Datumteile[2] + "." + Datumteile[1] + "." + Datumteile[0];
    exif_wert = '';
    }
    }
    //Funktion zum Auslesen der EXIF Daten

    function finde_exif(exif_feld)
    {
    for(i = 0; i < exif_daten.length; i++)
    {
    if(exif_feld == exif_daten[i][0])
    {
    exif_wert = exif_daten[i][1];
    }
    }
    }

    //Funktion zum automatischen Speichern der EInstellungen

    function speichern()
    {

    par1 = fenster.zeit_check.value;
    datei.open('w');
    datei.write ("S"+par1+"%$");
    datei.close();
    }
    }


    ------------------------------------------------------------------------

    Gruss
    Dieter



    (Sollte der eine oder andere einige ScriptZeilen aus seinem Script wiederfinden und nicht damit einverstanden sein, dass es hier gezeigt wird - meldet euch bei mir und wir können das klären. Der hier gezeige Script ist nicht kommerziell.)

  9. #29

    Standard AW: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???

    Hi !

    In der Zeile 38 und 155 (glaub ich) gehört das P LACEBEFORE in ein PLACEBEFORE geändert !

    Das Orig. Script hat ja die Parameter von der 30D ich bekomm aber immer nur den Text "undefined.undefined.f/2.8" ins Bild :-(

    mfG
    Martin

  10. #30
    ehemaliger Benutzer
    Gast

    Standard AW: Photoshop Aktion - aus EXIF das Datum im Bild als Text einbetten ???

    @Martin: Probiere mal mein kleines Script aus dem Beitrag #20 aus und schaue, bei welcher Nummer "Date Time Original" rauskommt.


    @Dieter: Mache die automatische Erkennung besser auf den Text "Date Time Original". Daneben gibt es noch "Date Time" und "Date Time Digitized". Bei meiner 300D sind "Date Time Original" und "...Digitized" immer gleich und unterschiedlich zu "Date Time".

Seite 3 von 5 ErsteErste 12345 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •