Sociedad y todo los que nos rodea - Tecno Internet

Blog sobre Internet, Sociedad y todo los que nos rodea

Archive for the ‘EXIF’ Category

Mostrar los datos EXIF

Written by admin on Feb 12th, 2008 | Filed under: EXIF, PHP

Cuando se obtiene una instantánea con una cámara digital el fichero que contiene la imagen almacena también un conjunto de datos como la fecha y hora de captura, modelo de la cámara, abertura de diafragma, velocidad de obturación, ISO… A este conjunto de datos se le conoce con el nombre de EXIF

EXIF (Exchangeable Image File) es el formato de archivo utilizado por la mayoría de las cámaras digitales para insertar datos técnicos sobre la captura en la imágen.

Para poder leer los datos EXIF de nuestras fotografías, podemos utilizar las Propiedades/Opciones Avanzadas de Windows XP, el programa Adobe PhotoShop, el programa Exif Reader (freeware) entre otros.

Si lo que deseamos es mostrar esos datos en nuestra web o photoblog podemos utilizar la función de PHP exif_read_data() que devuelve los datos EXIF de una imagen JPEG o TIFF.

Para jggweb he creado esta pequeña función que nos devuelve el modelo de la cámara, la velocidad de obturación, la abertura de diafragma y la longitud focal:

<?php
function Datos_EXIF($imagen)
{
//*****************************************************************
// Función Datos_EXIF
// Objetivo de la función:
// Devuelve el modelo de la cámara, velocidad de obturación,
// abertura de diafragma y longitud focal de una imagen.
// Argumento de entrada:
// $imagen: Una cadena que contendrá el nombre de la imagen.
//
// Autor: jgarcía
// Web: www.bitacoradewebmaster.com
// Fecha: junio 2005
//*****************************************************************

// Asignamos todos los datos EXIF a un array llamado $exif
$exif = exif_read_data($imagen, ‘EXIF’);

// Si la imagen no tiene datos EXIF abortamos la ejecución
if ($exif===false)
{
echo “<h5>Sin datos EXIF</h5><br />n”;
exit();
}

$exif = exif_read_data($imagen, 0, true);

//Comenzamos a presentar datos EXIF
echo “<strong>Cámara: “.$exif[”IFD0″][”Model”].”<br />n”;

list($numeradorV, $denominadorV) = split( ‘[/]’, $exif[”EXIF”][”ExposureTime”]);
if ($numeradorV< $denominadorV)
{
$denominadorV=$denominadorV/10;
echo “Velocidad de obturación: 1/”.$denominadorV.”sg.<br />n”;
}
else
{
$velocidad=$numeradorV/$denominadorV;
echo “Velocidad de obturación: “.$velocidad.”sg<br />n”;
}

list($numeradorA, $denominadorA) = split( ‘[/]’, $exif[”EXIF”][”FNumber”]);
$numeradorA=$numeradorA/10;
echo “Abertura de diafragma: f”.$numeradorA.”<br />n”;

list($numeradorL, $denominadorL) = split( ‘[/]’, $exif[”EXIF”][”FocalLength”]);
$numeradorL=$numeradorL/10;
echo “Longitud focal: “.$numeradorL.”mm</strong><br />n”;
}
?>

Para hacer uso de la función debemos escribir el siguiente código:

<?php
//En el fichero funciones.php debemos tener la función Datos_EXIF()
require_once(”funciones.php”);
Datos_EXIF(”imagen.jpg”);
?>

Si deseas añadir más datos EXIF sólo tienes que hacer referencia al elemento del array asociativo que te interese. La lista de datos EXIF la tienes en la siguiente página.