EXIF-Daten personalisieren EXIF-Daten personalisieren
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

EXIF-Daten personalisieren

Started by pfnuesu, September 20, 2006, 12:37:17 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pfnuesu

Guten Abend

Nachdem ich nun auch endlich von CPG 1.3.3 auf die aktuelle Version CPG 1.4.9 aufgestiegen bin,
stellen sich mir noch zwei Fragen bezüglich der EXIF-Daten.

Gibt es eine Möglichkeit, die Reihenfolge der in displayimage.php angezigten EXIF-Felder anzupassen?
Ich bin über einen Thread aus 2005 gestolpert, in dem Beschrieben steht, dass die Reihenfolge im
language-file helfen soll. Hat leider bei mir nicht funktioniert.

In V 1.3.3 hatte ich folgenden modifizierten Code zur Anzeige der EXIFs und insbesondere der
35mm-äquivalenten Brennweite:

    if (isset($exif) && is_array($exif)) {
        if (isset($exif['Camera'])) $info[$lang_picinfo['Camera']] = $exif['Camera'];
        if (isset($exif['DateTaken'])) $info[$lang_picinfo['Date taken']] = $exif['DateTaken'];
        if (isset($exif['Aperture'])) $info[$lang_picinfo['Aperture']] = $exif['Aperture'];
        if (isset($exif['ISO'])) $info[$lang_picinfo['ISO']] = $exif['ISO'];
        if (isset($exif['ExposureTime'])) $info[$lang_picinfo['Exposure time']] = $exif['ExposureTime'];
//Calculate FocalLength
  //Umrechnung für EOS 30D
if (isset($exif['FocalLength']) && $info[$lang_picinfo['Camera']] == 'Canon - Canon EOS 30D') $info[$lang_picinfo['Focal length']] = $exif['FocalLength'] . " - (" . $exif['FocalLength']*1.6 . "mm equiv.)";
//Umrechnung für EOS 10D
if (isset($exif['FocalLength']) && $info[$lang_picinfo['Camera']] == 'Canon - Canon EOS 10D') $info[$lang_picinfo['Focal length']] = $exif['FocalLength'] . " - (" . $exif['FocalLength']*1.6 . "mm equiv.)";
//Umrechnung für Dimage 7i
if (isset($exif['FocalLength']) && $info[$lang_picinfo['Camera']] == 'Minolta Co., Ltd. - DiMAGE 7i') $info[$lang_picinfo['Focal length']] = $exif['FocalLength'] . " - (" . intval($exif['FocalLength']*3.944954128) . "mm equiv.)";
//Umrechnung für Dimage7
if (isset($exif['FocalLength']) && $info[$lang_picinfo['Camera']] == 'Minolta Co., Ltd. - DiMAGE 7') $info[$lang_picinfo['Focal length']] = $exif['FocalLength'] . " - (" . intval($exif['FocalLength']*3.944954128) . "mm equiv.)";
//Umrechnung für Ixus
If (isset($exif['FocalLength']) && $info[$lang_picinfo['Camera']] == 'Canon - Canon DIGITAL IXUS') $info[$lang_picinfo['Focal length']] = $exif['FocalLength'] . " - (" . intval($exif['FocalLength']*6.481481481) . "mm equiv.)";
        if (@strlen(trim($exif['Comment'])) > 0 ) {
                $info[$lang_picinfo['Comment']] = trim($exif['Comment']);
        }
    }


Wie und wo kann ich diesen Code nun wieder einsetzen?

Besten Dank schonmal für die Hilfe.

Gruss aus Flamatt
Pfnuesu

Joachim Müller

Modifiziere include/exif_php.inc.php entsprechend.

pfnuesu

Hallo GauGau

Besten Dank für den Hinweis. (noch hab' ich's nicht geschafft, aber so schnell will ich nicht aufgeben...)

Wäre die exif_php.inc.php auch die richtige Stelle, um die Reihenfolge der Exif-Daten zu modifizieren?

Gruss aus Flamatt
Pfnuesu

Joachim Müller

Habe es mir noch nicht im Detail angesehen, denke aber ja.

Forrest Gump

Über die Sortierung der Exif-Daten in einer individuell gewünschten Reihenfolge hatte ich mir auch schon Gedanken gemacht.

Die Daten werden standardmäßig in der Reihenfolge der Benutzersprache alphabetisch sortiert, also wäre es EINE - wenn auch unschöne - Möglichkeit die Bezeichnungen in den Sprachdateien zu modifizieren. Beispiel: 01, 02 ... od. a_, b_ ... davor schreiben.

Eine andere - schönere - Möglichkeit wäre wahrscheinlich, in der entsprechenden Datei den generierten array mit einer benutzersortierten Sortierreihenfolge zu bearbeiten. Vermutlich mit usort() oder dergleichen.

Die schönste Lösung wäre wahrscheinlich an der Code-Entwicklung teilzunehmen und daran zu arbeiten eine Sortierung im Admin-Menü zu verwirklichen.

Wenn's mir mal wichtig genug erscheint und ich die Zeit dazu habe gehe ich's vielleicht mal an.  ;D