Artículo original: Image Info with GdiPlus X
http://vfpimaging.blogspot.com/2007/04/image-info-with-gdiplus-x.html
Autor: Cesar Ch
Traducido por: Ana María Bisbé York
Otra sencilla tarea para GDI+
Para obtener alguna información básica de imágenes, tal como, Ancho, Alto, Resolución y Formato de pixeles, todo lo que necesitamos es Iniciar un objeto Image de GDI+ y tomar algunos valores de las propiedades, como se muestra debajo.
IMPORTANTE:
Todos los ejemplos que se muestran a continuación utilizan la nueva biblioteca GDIPlus-X, que está aún en versión ALPHA, pero es realmente estable y fiable para hacer la gran mayoría de las tareas de GDI+. Descargue la versión más estable de VFPx:
https://github.com/VFPX/GDIPlusX
LOCAL lcImage lcImage = GETPICT() IF EMPTY(lcImage) RETURN ENDIF _SCREEN.AddProperty("System", NEWOBJECT("xfcSystem", LOCFILE("system.vcx"))) LOCAL loImg AS xfcImage WITH _SCREEN.System.Drawing loImg = .Image.FromFile(lcImage) IF ISNULL(loImg) MESSAGEBOX("No se pudo cargar el archivo imagen") RETURN ENDIF * Obtener el nombre de formato de pixeles (PixelFormat ) LOCAL lnPix, lcPixFormat lnPix = loImg.PixelFormat DO CASE CASE lnPix = .Imaging.PixelFormat.Format1bppIndexed lcPixFormat = "1bppIndexed" CASE lnPix = .Imaging.PixelFormat.Format4bppIndexed lcPixFormat = "4bppIndexed" CASE lnPix = .Imaging.PixelFormat.Format8bppIndexed lcPixFormat = "8bppIndexed" CASE lnPix = .Imaging.PixelFormat.Format16bppGrayScale lcPixFormat = "16bppGrayScale" CASE lnPix = .Imaging.PixelFormat.Format16bppRGB555 lcPixFormat = "16bppRGB555" CASE lnPix = .Imaging.PixelFormat.Format16bppRGB565 lcPixFormat = "16bppRGB565" CASE lnPix = .Imaging.PixelFormat.Format16bppARGB1555 lcPixFormat = "16bppARGB1555" CASE lnPix = .Imaging.PixelFormat.Format24bppRGB lcPixFormat = "24bppRGB" CASE lnPix = .Imaging.PixelFormat.Format32bppRGB lcPixFormat = "32bppRGB" CASE lnPix = .Imaging.PixelFormat.Format32bppARGB lcPixFormat = "32bppARGB" CASE lnPix = .Imaging.PixelFormat.Format32bppPARGB lcPixFormat = "32bppPARGB" CASE lnPix = .Imaging.PixelFormat.Format48bppRGB lcPixFormat = "48bppRGB" CASE lnPix = .Imaging.PixelFormat.Format64bppPARGB lcPixFormat = "64bppPARGB" OTHERWISE lcPixFormat = "No identificado" ENDCASE ENDWITH LOCAL lcInfo lcInfo = ; "Ancho : " + TRANSFORM(loImg.Width) + SPACE(25) +; "Alto : " + TRANSFORM(loImg.Height) + CHR(13) +; "Resolución - Vertical : " + TRANSFORM(loImg.VerticalResolution) + SPACE(6) +; "Horizontal : " + TRANSFORM(loImg.HorizontalResolution) + CHR(13) +; "Formato de pixeles : " + lcPixFormat MESSAGEBOX(lcInfo, 64, "Propiedades de imagen para " + JUSTFNAME(lcImage))
Desde VFP abra alguna manera de poder verificar, mostrar y modificar los Detalles de los archivos; me refiero a que en un archivo si le das clic con el boton derecho este desplegara un menu emergente y en el seleccionas la opcion de Propiedades, luego se posisionan en la pestaña Detalles donde estan los conceptos de:
ResponderBorrar│ Descripción
│
│ Título :
│ Asunto :
│ Etiquetas :
│ Categorías :
│ Comentarios :
│ Autores :
│ Guardado por :
│ Número de revisión :
│ Número de versión :
│ Nombre del programa :
│ Organización :
│ Administrador :