30 de julio de 2006

Obtener la información de los metadatos para sus imágenes con GDI+

Artículo original: GETTING METADATA INFORMATION FROM YOUR PICTURES WITH GDI+
http://weblogs.foxite.com/vfpimaging/archive/2006/03/02/1252.aspx
Autor: Cesar Ch.

Traducido por: Ana María Bisbé York

¿Sabía que todos los JPEGs de su cámara digital contienen mucha información extra?

Puede obtener mucha información interesante del tipo: Título, Equipamiento, modelo de cámara, velocidad del obturador, apertura del lente, fecha de la imagen ¡ y mucho más ! Estas etiquetas de metadato se guardan en un archivo JPEG que indica varios parámetros y la imagen con las condiciones que ocurren mientras se va creando la imagen. algunos formatos de imagen le permiten almacenar el metadato junto con una imagen como JPEG, TIFF y PNG.



Nuevamente GDI+ hace nuestras vidas más sencillas, proporcionándonos una función para obtener esa información: GetPropertyItem guardado en la clase GpImage de _gdiplus.vcx.

Baje y ejecute este archivo (http://weblogs.foxite.com/vfpimaging/attachment/1252.ashx) y seleccione una imagen de cualquier cámara digital y verá toda la información de los metadatos almacenada en ella.

En la primera parte de este código, obtengo las propiedades más comunes de la clase GpImage, tales como ImageWidth, ImageHeight, HorizontalResolution, VerticalResolution y PixelFormat. En el resto del código obtengo los metadatos desde el archivo imagen, utilizando GetPropertyIdList y GetPropertyItem. Es importante observar que GetPropertyIdList recibe una matriz como parámetro, y devuelve una matriz llenado con los metadatos.

loImage.CreateFromFile(lcSource)
DIMENSION raPropIDList(1)
LOCAL nCount, n, lcTagName, lnProp, luProp
nCount = loImage.GetPropertyIdList(@raPropIDList)
FOR n = 1 TO nCount
  lnProp = raPropIDList(n)
  luProp = loImage.GetPropertyItem(lnProp)
  ? TRANSFORM(lnProp), TRANSFORM(luProp)
ENDFOR

Es posible obtener otro tipo de información.

Mire los dos elementos finales den la imagen, ExifLightSource y ExifFlash. En ambos casos, tenemos un valor cero. Verifique esta tabla, para que vea lo que pueden significar estos valores:

TagID : 0x9208 (37384) - LightSource int16u ExifIFD
1 = Luz natural
2 = Luz Fluorescente
3 = Luz de Tungsteno
4 = Flash
9 = Fine Weather
10 = Nublado
11 = Penumbra, sombra
12 = Fluorescente diurno
13 = Fluorescente diurno blanco
14 = Fluorescente blanco frío
15 = Fluorescente blanco
17 = Luz Standard A
18 = Luz Standard B
19 = Luz Standard C
20 = D55
21 = D65
22 = D75
23 = D50
24 = ISO Tungsteno de estudio
255 = Otro

TagID : 0x9209 (37385) - Flash interno16u ExifIFD
0x0 = No Flash
0x1 = Disparó
0x5 = Disparó, No detectó Retorno
0x7 = Disparó, Detectó Retorno
0x9 = Encendido
0xd = Encendido, No detectó Retorno
0xf = Encendido, Detectó Retorno
0x10 = Apagado
0x18 = Automático, no disparó
0x19 = Automático, Disparó
0x1d = Automático, Disparó, No detectó Retorno
0x1f = Automático, Disparó, Detectó Retorno
0x20 = No hay función flash
0x41 = Disparó, Reducción de ojos rojos
0x45 = Disparó, Reducción de ojos rojos, No detectó Retorno
0x47 = Disparó, Reducción de ojos rojos, Detectó Retorno
0x49 = Encendido, Reducción de ojos rojos
0x4d = Encendido, Reducción de ojos rojos, No detectó Retorno
0x4f = Encendido, Reducción de ojos rojos, Detectó Retorno
0x59 = Automático, Disparó, Reducción de ojos rojos
0x5d = Automático, Disparó, Reducción de ojos rojos, No detectó Retorno
0x5f = Automático, Disparó, Reducción de ojos rojos, Detectó Retorno

En este enlace, podrá encontrar otra mucha información sobre las etiquetas de metadatos: http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html

Comentario agregado el 04/06/06

Escribí un artículo mucho más detallado sobre este tema que fue publicado en el número de abril de 2006 de la Revista UniversalThread Magazine.

Merece mucho la pena echarle un vistazo, allí encontrará una subclase para GpImage que le permite leer, escribir o eliminar etiquetas de imagen.

Puede crear un procedimiento sencillo para agregar información a las imágenes que distribuye o genera con sus proyectos, etc.

Para ver el artículo, todo lo que necesita es introducir su login y password. Si no tiene uno, apresúrese porque Michel Fournier acaba de abrir todo el contenido de la revista a toda la comunidad. Regístrese ahora mismo gratuitamente.

http://www.utmag.com/wconnect/wc.dll?9,7,10,,2090


No hay comentarios. :

Publicar un comentario