php - una - modificar metadatos fotos
¿Cómo agrego datos exif a una imagen? (6)
En nuestro sitio, obtenemos una gran cantidad de fotos cargadas de varias fuentes.
Para mantener el tamaño de los archivos, quitamos todos los datos exif de la fuente usando mogrify :
mogrify -strip image.jpg
Lo que nos gustaría poder hacer es insertar algunos datos exif básicos (Copyright Initrode, etc.) de nuevo en esta nueva imagen "limpia", pero parece que no puedo encontrar nada en los documentos que logre esto.
¿Alguien tiene alguna experiencia de hacer esto?
Si no se puede hacer a través de imagemagick, una solución basada en PHP sería la mejor opción.
Gracias.
Aquí hay una biblioteca PHP Exif que debe hacer lo que necesita.
La Biblioteca PHP Exif (PEL) le permite manipular completamente los datos Exif (Formato de archivo de imagen intercambiable). Estos son los datos que las cámaras digitales colocan en sus imágenes, como la fecha y la hora, la velocidad de obturación, el valor ISO, etc.
Usando PEL, uno puede modificar completamente los datos Exif, lo que significa que puede leerse y escribirse. Los datos Exif completamente nuevos también se pueden agregar a las imágenes. PEL está escrito completamente en PHP y no depende de nada más que una instalación estándar de PHP, versión 5. PEL está alojado en SourceForge.
Dudo que ganarás mucho espacio eliminando la información de Exif ...
De todos modos, puedo estar equivocado, pero los metadatos Exif pertenecen más a la información técnica (y contextual) de la tienda. Para cosas como el copyright, debería usar IPTC en su lugar.
Eso es algo que puede hacer, al parecer, con ImageMagick: Escribir Datos IPTC en JPEG con ImageMagick .
Exiftool parece que sería una coincidencia exacta para ti.
No lo he intentado, pero ahora estoy tentado de ir a arreglar todas mis fotos de luna de miel que están marcadas 01/01/2074 porque olvidé restablecer la fecha después de que las baterías murieron.
en Linux hay un programa llamado jhead. Puede agregar un encabezado exif mínimo con el comando:
jhead -mkexif img.jpg
Puede ahorrar una gran cantidad de espacio, especialmente si tiene una gran cantidad de imágenes.
Agregue lo siguiente a text.txt (formato de las etiquetas IPTC tomadas desde aquí ):
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"
Pele todos los datos Exif existentes de la imagen
mogrify -strip image.jpg
Agrega el crédito a tu imagen
mogrify -profile 8BIMTEXT:text.txt image.jpg
Puedes hacer esto directamente en PHP usando la biblioteca PEL . Usted haría esto simplemente sobrescribiendo los encabezados EXIF existentes,
// 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'');
Puede encontrar una lista completa de todos los datos EXIF compatibles (PelTag) en los documentos PEL .