Frage

Auf unserer Website erhalten wir eine große Menge von Fotos aus verschiedenen Quellen hochgeladen.

Um die Datei zu halten Größen, alle wir abstreifen EXIF-Daten von der Quelle mit mogrify :

mogrify -strip image.jpg

Was wir möchten in der Lage sein zu tun ist, einige grundlegenden EXIF-Daten (Urheberrecht Initrode, etc.) wieder auf dieses neue „sauberen“ Bild einfügen, aber ich kann nichts in der Dokumentation scheinen zu finden, erreichen würde dies.

Hat jemand keine Erfahrung, dies zu tun?

Wenn es nicht durch imagemagick getan werden kann, eine PHP-basierte Lösung die nächste beste Sache sein würde!

Danke.

War es hilfreich?

Lösung

Sie können eine große Menge an Speicherplatz sparen, vor allem, wenn Sie eine große Anzahl von Bildern haben ..

Fügen Sie Folgendes text.txt (Format der IPTC-Tags genommen von 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"

Isolieren Sie alle vorhandenen EXIF-Daten aus dem Bild

mogrify -strip image.jpg

Fügen Sie die Gutschrift auf Ihr Bild

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

Andere Tipps

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

Ich habe nicht versucht, aber ich bin jetzt zu gehen und beheben all meine Flitterwochen Fotos versucht, die 2074.01.01 markiert sind, weil ich das Datum neu vergessen, nachdem die Batterien gestorben.

Hier ist ein PHP Exif-Bibliothek das sollte das tun, was Sie brauchen.

  

Die PHP Exif Library (PEL) können Sie   vollständig Exif (Exchange manipulieren   Image File Format) Daten. Dies ist das   Daten, dass Digitalkameras in   ihre Bilder, wie das Datum und   Zeit, Verschlusszeit, ISO-Wert und so   auf.

     

PEL verwenden, kann man vollständig ändern die   Exif-Daten, was bedeutet, dass es beides sein kann   gelesen und geschrieben. Völlig neue Exif   Daten können auch Bilder hinzugefügt werden. PEL   komplett in PHP geschrieben und   hängt davon ab, nichts außer einem Standard   Installation von PHP, Version 5. PEL ist   gehostet auf Source.

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

jhead -mkexif img.jpg

Ich bezweifle, dass Sie viel Platz durch Entfernen Exif-Informationen gewinnen wird ...

Wie auch immer, ich kann falsch sein, aber Exif-Metadaten gehören technischere zu speichern (und kontextuelle) Informationen. Für solche Sachen Urheberrecht, sollten Sie IPTC stattdessen verwenden.

Das ist etwas, was Sie tun können, es scheint, mit ImageMagick: schreiben IPTC-Daten in JPEG mit ImageMagick .

Sie können diese direkt in PHP tun, um die Verwendung von PEL Bibliothek. 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');

Sie können eine komplette Liste aller unterstützten EXIF-Daten (PelTag) in der PEL docs .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top