Question

Sur notre site, nous recevons une grande quantité de photos provenant de différentes sources.

Afin de réduire la taille des fichiers, nous supprimons toutes les données EXIF ?? de la source à l'aide de mogrify :

mogrify -strip image.jpg

Ce que nous aimerions pouvoir faire, c’est d’insérer certaines données exif de base (Copyright Initrode, etc.) dans ce nouveau "clean". image, mais je n'arrive pas à trouver quoi que ce soit dans la documentation qui permettrait d'atteindre cet objectif.

Quelqu'un a-t-il déjà fait cela?

Si cela ne peut pas être fait avec imagemagick, une solution basée sur PHP serait la meilleure solution!

Merci.

Était-ce utile?

La solution

Vous pouvez économiser beaucoup d’espace, en particulier si vous avez un grand nombre d’images.

Ajoutez ce qui suit dans text.txt (format des balises IPTC extraites de ici ):

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"

Supprimer toutes les données exif existantes de l'image

mogrify -strip image.jpg

Ajoutez le crédit à votre image

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

Autres conseils

Exiftool semble correspondre parfaitement à votre cas.

Je ne l'ai pas essayé, mais je suis maintenant tenté de réparer toutes mes photos de lune de miel portant le numéro du 01/01/2074, car j'ai oublié de réinitialiser la date après la mort des piles.

Voici une bibliothèque PHP Exif qui devrait faire ce dont vous avez besoin.

  

La bibliothèque PHP Exif (PEL) vous permet de   manipuler complètement Exif (échangeable   Format de fichier image). C'est le   données que les appareils photo numériques placent dans   leurs images, telles que la date et   temps, vitesse d'obturation, valeur ISO et ainsi de suite   sur.

     

En utilisant PEL, on peut complètement modifier le   Données Exif, ce qui signifie qu'il peut être à la fois   lu et écrit. Complètement nouvelle Exif   les données peuvent également être ajoutées aux images. PEL   est écrit complètement en PHP et   ne dépend de rien sauf d'une norme   installation de PHP, version 5. PEL est   hébergé sur SourceForge.

sur Linux, il existe un programme appelé jhead. Il peut ajouter un en-tête exif minimal avec la commande:

jhead -mkexif img.jpg

Je doute que vous gagniez beaucoup d'espace en supprimant les informations Exif ...

Quoi qu’il en soit, je peux me tromper, mais les métadonnées Exif appartiennent davantage au stockage d’informations techniques (et contextuelles). Pour des choses comme le copyright, vous devriez utiliser IPTC à la place.

C’est quelque chose que vous pouvez apparemment faire avec ImageMagick: Écrire des données IPTC sur Jpeg avec ImageMagick .

Vous pouvez le faire directement en PHP en utilisant la bibliothèque PEL . Pour ce faire, il vous suffit de remplacer les en-têtes EXIF ??existants,

.
// 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');

Vous pouvez trouver une liste complète de toutes les données EXIF ??prises en charge (PelTag) dans les documents PEL .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top