wake-up-neo.com

Wie füge ich einem Bild Exif-Daten hinzu?

Auf unserer Website erhalten wir eine große Anzahl von Fotos, die aus verschiedenen Quellen hochgeladen wurden.

Um die Dateigröße gering zu halten, entfernen wir alle exif-Daten aus der Quelle mit mogrify :

mogrify -strip image.jpg

Wir möchten in der Lage sein, einige grundlegende Exif-Daten (Copyright Initrode usw.) wieder in dieses neue "saubere" Image einzufügen, aber ich kann anscheinend nichts in den Dokumenten finden, was dies bewirken würde.

Hat jemand Erfahrung damit?

Wenn dies mit imagemagick nicht möglich ist, ist eine PHP-basierte Lösung die nächstbeste!

Vielen Dank.

20
ConroyP

Sie können viel Platz sparen, insbesondere bei einer großen Anzahl von Bildern.

Fügen Sie text.txt Folgendes hinzu (Format der IPTC-Tags aus hier ):

2#110#Credit="My Company"
2#05#Object Name="THE_OBJECT_NAME"
2#55#Date Created="2011-02-03 12:45"
2#80#By-line="BY-LINE?"
2#110#Credit="The CREDIT"
2#115#Source="SOURCE"
2#116#Copyright Notice="THE COPYRIGHT"
2#118#Contact="THE CONTACT"
2#120#Caption="AKA Title"

Entferne alle vorhandenen Exif-Daten aus dem Bild

mogrify -strip image.jpg

Fügen Sie Ihrem Bild das Guthaben hinzu

mogrify -profile 8BIMTEXT:text.txt image.jpg
13
Ciaran

Exiftool sieht aus wie es eine genaue Übereinstimmung für Sie wäre.

Ich habe es noch nicht ausprobiert, aber jetzt bin ich versucht, alle meine Flitterwochenfotos zu reparieren, die als 01.01.2074 gekennzeichnet sind, da ich vergessen habe, das Datum zurückzusetzen, nachdem die Batterien erschöpft sind.

12
Colin Pickard

Hier ist eine PHP Exif-Bibliothek die tun sollte, was Sie brauchen.

Mit der PHP Exif Library (PEL) können Sie Exif-Daten (Exchangeable Image File Format) vollständig bearbeiten. Dies sind die Daten, die Digitalkameras in ihre Bilder einfügen, z. B. Datum und Uhrzeit, Verschlusszeit, ISO-Wert usw.

Mit PEL können die Exif-Daten vollständig geändert werden, dh sie können sowohl gelesen als auch geschrieben werden. Völlig neue Exif-Daten können auch Bildern hinzugefügt werden. PEL ist vollständig in PHP geschrieben und hängt nur von einer Standardinstallation von PHP, Version 5, ab. PEL wird auf SourceForge gehostet.

6
mwilliams

unter Linux gibt es ein Programm namens jhead. Es kann einen minimalen exif-Header mit dem Befehl hinzufügen:

jhead -mkexif img.jpg

5
Bastiaan

Ich bezweifle, dass Sie viel Platz gewinnen, wenn Sie Exif-Informationen entfernen ...

Wie auch immer, ich kann mich irren, aber Exif-Metadaten gehören eher zum Speichern technischer (und kontextbezogener) Informationen. Für Dinge wie das Urheberrecht sollten Sie stattdessen IPTC verwenden.

Das ist etwas, was Sie anscheinend mit ImageMagick tun können: IPTC-Daten mit ImageMagick in Jpeg schreiben .

1
PhiLho

Sie können dies direkt in PHP mit der PEL Bibliothek tun. Sie würden dies tun, indem Sie einfach die vorhandenen EXIF-Header überschreiben,

// Load image data
$data = new PelDataWindow(file_get_contents('IMAGE PATH'));

// Prepare image data
$jpeg = $file = new PelJpeg();
$jpeg->load($data);

// Create new EXIF-headers, overwriting any existing ones (when writing to disk)
$exif = new PelExif();
$jpeg->setExif($exif);
$tiff = new PelTiff();
$exif->setTiff($tiff);

// Create Ifd-data that will hold EXIF-tags
$ifd0 = new PelIfd(PelIfd::IFD0);
$tiff->setIfd($ifd0);

// Create EXIF-data for copyright
$make = new PelEntryAscii(PelTag::COPYRIGHT, '2008-2017 Conroy');
$ifd0->addEntry($make);

// Add more EXIF-data...

// Save to disk
$file->saveFile('IMAGE.jpg');

Eine vollständige Liste aller unterstützten EXIF-Daten (PelTag) finden Sie in den PEL-Dokumenten .

0