Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

das mit den getagte Bildern weis ich,nur wenn z.B. auf Reisen keine Netzverbindung besteht, könnte ich die Geodaten aus anderen Karten mit TTQV in die Zwischenablage kopieren und dann von dort ins das jeweilige Bild. Su muss ich die immer zur Fux resp. per Hand übertragen.

Hartmut

Hallo Hartmut,
auf der Hirnhälfte bin ich dumm... ;)
Ich leih mir immer welche aus anderen Bildern. :)
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Falls es jemanden interessiert, ich habe hier eine kurze Einführung zu Autohotkey geschrieben. Es gibt auch ein paar Beispiele.
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Funktionen für GPS gibt es für ActiveScripting von FF. Nur bin ich mit dem Thema fast völlig unvertraut.
Da gibt es einige hier im Forum, die sich mehr und intensiv damit befassen.

Für den Versuch es selber zu probieren:
Zuständiger Befehl fürs Scripting: FF_SetExifTag. Tags: Altitude, Latitude, Longitude, MapDatum, Satellites
Möglicherweise muss eine Fehler-/Ausnahmebehandlung eingeschaltet werden, da Exif in FF nur für JPEGs unterstützt werden.
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Da gehört dann aber auch das alter ego "FF_GetExifTag(VT_BSTR tagname)" mit denselben Argumenten dazu. Fehlt nur noch die Syntax, die Joachim in der Zwischenablage nutzt... Oder einfache Kette durch Komma getrennt...? Wie in Bildinformationen?
Danke Werner.

Dann kann Hartmut ja loslegen... :))
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

So wie es aussieht gibt es derzeit nur keine FF-Funktionen, die das direkte Auslesen/Schreiben von Geo-Informationen erlauben. Die Skripter mögen mich berichtigen...

Klar geht das.
Sie sind in den Exif enthalten und lassen sich mit FF_GetExifTag() lesen und mit
FF_SetExifTag() schreiben. (Siehe Hilfe)
Nur das Format der Parameter ist etwas Gewöhnungsbedürftig...
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Klar geht das.
Sie sind in den Exif enthalten und lassen sich mit FF_GetExifTag() lesen und mit
FF_SetExifTag() schreiben. (Siehe Hilfe)
Nur das Format der Parameter ist etwas Gewöhnungsbedürftig...

Hallo Heinz,
das war doch schon geklärt...
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Vielen Dank an die Script Spezialisten, ich habe vor Jahren besser Jahrzehnten mal in BASIC rumprogrammiert und jetzt einen scriptversuch gemacht.
Die Koordinaten liegen so in der Zwischenablage

N 47° 10' 54.4", E 6 ° 43' 48.6"

Mein script steht weiter unten.
Wenn ich in Messageboxes die variablen eingang, laenge und breite anzeigen lassen, stimmen die Daten
N 47° 10' 54.4" und E 6 ° 43' 48.6"
werden mit den Schritten
FF_SetExifTag "Latitude", breite
FF_SetExifTag "Longitude", laenge
FF_SaveExif date

nicht ins Bild geschrieben.
Liegt es eventuell daran, dass die Längen- und Breitengrade zwar im Format DD°mm' ss.s angezeigt werden -und auch so in die zwischenablage exportiert werden können- intern aber in einem anderen Format gespeichert werden.

Kann mir jemand von den scriptgurus weiterhelfen ?

Besten Dank

Hartmut




'* Autor: Hartmut König nach einen Scipt vonWerner Pilwousek
'* Start: 14.07.2008
'* [FFAutoConfig]
'* FFSubmenu=GPS
'* FFName=GPS aus TTQV
Main

Sub Main
Dim datei
dim breite
dim laenge
dim eingang
eingang = FF_TextfromClipboard
laenge =mid(eingang,17,17)
breite =mid(eingang,1,15)
datei = FF_GetImageName(-1)


FF_SetExifTag "Latitude", breite
FF_SetExifTag "Longitude", laenge
FF_SaveExif datei
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Hallo Hartmut,

so auf die Schnelle:
Eigentlich brauchst Du gar nicht speichern. Wenn Du speicherst, werden die Daten überschrieben, wenn das Bild gespeichert wird. Allerdings musst Du evtl. das Dirty-Flag (FF_SetDirty) auf True setzen.

Datei = FF_GetImageName(-1) kannst Du eigentlich streichen, ist mir auch erst später gekommen und versehentlich im Skript drin geblieben.

Ansonsten fehlt das "End Sub".
Hast Du geprüft, ob das Format für GPS stimmt? Mal aus einem Bild mit GPS-Daten auslesen und ggf. umbauen.

Evtl. hilft ein FF_Reload, um die Daten zu aktualisieren

Um ehrlich zu sein. Habe noch nie EXIF/GPS-Daten in ein Bild geschrieben, dass im Speicher liegt.
 
Zuletzt bearbeitet:
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Im Prinzip sollte es so gehen
Stelle sicher das deine Variablen breite und laenge wirklich einen String in der Form:
N 47° 10' 54.4" oder E 6° 43' 48.6" enthalten.

Du solltest aber auf jeden Fall bei dem "," den Text aufteilen und nicht mit festen Längen arbeitet.
Denn N 47° 10' 54.11" und E 16° 43' 48.61" sind auch gültige Werte
Bitte auch keine Leerzeichen an den falschen stellen!

Wenn die Variablen d,m,s die Zahlenwerte der Koordinate enthalten und c den Buchstaben
dann erzeuge ich in jscript mit:
Code:
lats = c +" "+d+"° "+m+"\' "+s+"\"";
den für FF_SetExifTag passenden String. Vorsicht bei dem ' und dem " Zeichen,
das wirst du in VB wahrscheinlich auch maskieren müssen.
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

" werden durch doppelte Anführungszeichen maskiert
' wird nicht maskiert
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Danke Euch allen. aber ohne zu wissen wie die Gradzahlen intern in FF gehandelt werden, komme ich glaube ich nicht weiter.
Nachstehend ein script, bei dem ich aus einem Bild die Gradzahlen über Exiftoclipbioard extrahiert habe und die variablen entsprechend belegt habe
Ergbenis, in den Variablen stehen die Gradzahlen genau gleich, werden aber nicht in einem anderen Bild, auf ds ich das script angewandt haben geschrieben.
'Länge: E 4.00° 12.00' 42.00"
'Breite: N 47.00° 10.00' 29.93"
'erstellt mit exiftoClipboard und hier eingefügt

'* Autor: Hartmut König nach einen Scipt von Werner Pilwousek
'* Start: 14.07.2008
'* [FFAutoConfig]
'* FFSubmenu=GPS
'* FFName=GPS aus TTQV
Main

Sub Main
Dim datei
dim breite
dim laenge

laenge = "E 4.00° 12.00' 42.00"""
breite= "N 47.00° 10.00' 29.93"""

FF_TextToClipboard breite
FF_SetExifTag "Longitude", laenge
FF_SetExifTag "Latitude", breite
FF_SaveExif datei

end sub
'mit FF_TextToClipboard in die Zwischenablage kopiert und hier eingefügt
'E 4.00° 12.00' 42.00"
'N 47.00° 10.00' 29.93"
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Diese Fassung klappt bei mir

Code:
'* Autor: Hartmut König nach einen Scipt von Werner Pilwousek
'* Start: 14.07.2008
'* [FFAutoConfig]
'* FFSubmenu=GPS
'* FFName=GPS aus TTQV
Main

Sub Main

Dim datei
dim breite
dim laenge

laenge = "E 4.00° 12.00' 42.00"""
breite= "N 47.00° 10.00' 29.93"""
datei = ff_getImageName(-1)
FF_SetExifTag "Longitude", laenge
FF_SetExifTag "Latitude", breite
FF_SaveExif datei

end sub
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

nochmals vielen Dank, nach der Methode learning by doing und natürlich mit der Unterstützung von Heinz und W.p. scheint es jetzt zu funzen.
Ohne online zu sein, kann ich Koordinaten aus TTQV (Was FF für die Digitalfotografie, ist TTQV (www.ttqv.de) für die digitale Kartografie), in meien Bilder übertragen.
in TTQV, entsprechendne Punkt in eiern Karte anklicken und Waypoint kopieren, dannauf FF wechseln und einfügen mti dem kleinen Script.
Es ist noch nichgt bis ins lettzt ausgetestet, wer aber Interesse hat kann mir mailen.
Hartmut
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Um ehrlich zu sein. Habe noch nie EXIF/GPS-Daten in ein Bild geschrieben, dass im Speicher liegt.

Das wiederum kommt bei mir doch schon mal vor bei diesem Arbeitsablauf:

  1. Original zur Bearbeitung geöffnet (mit voreingestellter Speicherung in Unterordner 'bearbeitet')...
  2. Bild-Bearbeitung...
  3. Speichern unter in Pfad "\bearbeitet\" und Namenserweiterung "$$NAME$$_ff"...
  4. Saver4 kommt hoch und wird genutzt...
  5. weitere Bild-Bearbeitung (Script Skalierung_mod, Logo-Einblenden, Script AdvancedShadow_mod)...
  6. Speichern unter - VERDAMMT - DOCH KEIN GPS DRIN!... ABBRUCH!!!
  7. Markieren der Speicher-Version in der Computer-Ansicht - LEERTASTE (bin ja lernfähig - Dank später Screencasts)...
  8. Geo-Informationen über Zwischenablage leihen oder neu schießen in GE... Änderungen speichern

Ich mach' das so, weil dann beim neuen Speichern unter die Geo-Informationen mit ins neue "/pan/$$NAME$$_pan" geschrieben werden.

...oder hab ich dich falsch verstanden, Werner?
 
Zuletzt bearbeitet:
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Hallo Eike,

jep. Ich meinte das skripttechnisch.
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Code:
//FFSubmenu=Exif
//FFName=Beschreibung kopieren
//FFPath=btoclib.js

if( ff_hasExif() )
 FF_TextToClipboard(FF_GetExifTag("ImageDescription"));

Hallo,

das wirkt bei mir nur auf ein auf die Arbeitsfläche geladenes Bild.
Gilt auch für das Script von Werner. Dies war nur schneller zu kopieren. ;)
Was müsste ich dazufügen, damit das Script auf ein in der Computer-Ansicht markiertes Bild angewendet wird?
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Na das Bild laden natürlich. ;D

FF_LoadImage(FF_GetImageName(1)) o.ä

Am besten schaust du dir andere Scripte an
die eine/mehrere Selektierte Bilder bearbeiten.
Je nach Sprache must du dir eines ausuchen.

Ein einfaches zum selbstumbauen währe z.b dieses

Code:
//FFSubmenu=Extra
//FFName=TravelerDC5300
//FFFile=TravelerDC5300.js
// Autor: Heinz Höfling 29.8.2004 V1.0
// 25.10.2004 V1.1 Meldung auch wenn keine Bearbeitung erfolgte


if(FF_GetImageCount() == 0)
{
 FF_MessageBox("keine Bilder ausgewählt oder geladen",0);
 FF_ErrorBreak(0);
}

var idx;	
var file;
var changes=0;
var files=0;

for (idx=0; idx<FF_GetImageCount(); idx++)
{
  file = FF_GetImageName(idx);
  if(FF_LoadExif(file))
   {
    //--------------------------------------------------------------------
    // Kamera von Aldi, Name  Traveler DC-5300, 5,25 MP, Optik 7,2-21,6mm
    //                                                         35-105 KB
    // wenn 
    //     Model-Tag = "5MP-*"
    //     Make-Tag is "CAMERA
    //     FocalLength nicht gesetzt, 
    //     FocalLengthIn35mmFilm gesetzt
    // dann FocalLength ausrechnen.
    //--------------------------------------------------------------------
    files++;
    Make = FF_GetExifTag("Make");
    Kamera = FF_GetExifTag("Model");
    if( Make == "CAMERA") 
     if( Kamera.match(/^5MP-/,Kamera)!=null )
      if( FF_GetExifTag("FocalLength") == "")
       if( FF_GetExifTag("FocalLengthIn35mmFilm") != "")
        {
         // Rechne: 35 / 4.861111 ==> 7.2
         focal = FF_GetExifTag("FocalLengthIn35mmFilm") / 4.861111;
         FF_SetExifTag("FocalLength",focal);
         FF_SaveExif(file);
         changes++;
        }
   }
}


if ( changes>0)
  FF_MessageBox("Bilder untersucht:"+files+"\nBilder geändert:"+changes,0)
else  
  FF_MessageBox("Bilder untersucht:"+files+"\nkein Änderungen erforderlich.",0);
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

Na das Bild laden natürlich. ;D

FF_LoadImage(FF_GetImageName(1)) o.ä

Danke Heinz, aber ich hab heute wohl kein Glück... :(
Alles, was ich auf mache baut entweder Messageboxen auf oder ermittelt, welche Bilder selektiert sind.

Typisch bei dieser Aufgabe ist doch, dass nur ein Bild selektiert ist.
Muss ich denn bei einem Bild auch den ganzen Krümelkram mit FF_GetImageCount dazuschreiben, um daraus dann das einzige selektierte Bild zu ermitteln?

...und woran erkenne ich, welche Sprache du in deinem Script oben benutzt hast. Sag jetzt nicht 'deutsch'. :D

Edit: Hach, ich habe Glück und das .js entdeckt. ;) Hilft mir aber nicht weiter... :(
 
AW: Bildinformationen: Bildbeschreibung per Strg&B in Zwischenablage

...und woran erkenne ich, welche Sprache du in deinem Script oben benutzt hast. Sag jetzt nicht 'deutsch'. :D

z.B hieraus:

Code:
//FFFile=TravelerDC5300.js

So heißt das Script

Und ein Bild ist so gut wie 100 Bilder.
Die Schleife darf also ruhig auch nur einmal durchlaufen werden, wenn du nur ein Bild selektiert hast.


Wenn du unbedingt nur ein Bild haben willst dann schreibe doch


Code:
if(FF_GetImageCount() != 1)
{
 FF_MessageBox("Du hast frecherweise mehr als ein Bild selektiert, ich mag nicht weitermachen!",0);
 FF_ErrorBreak(0);
}
 
Zurück
Oben