Interesante solución para obtener información sobre una imagen. ¡ Muy bueno !
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/cesarchalom/archive/2006/03/02/1252.aspx Autor: Cesar Chalom (http://weblogs.foxite.com/cesarchalom) Traducido por: Ana María Bisbé York (amby@telefonica.net) Para: PortalFox (http://www.portalfox.com)
¿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/cesarchalom/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
|