Información de imágenes con GDI+ (Cesar Chalom) Traducción [1]

Enviado por : amby en 18 Abr, 2007 - 04:00
ART [2]
Cesar Chalom muestra el código que se puede emplear, desde la librería de clases GDI+, para obtener información sobre imágenes.

Información de imágenes con GDI+

Artículo original: Image Info with GdiPlus X
http://weblogs.foxite.com/cesarchalom/archive/2007/04/08/3653.aspx [3]
Autor: Cesar Chalom (http://weblogs.foxite.com/cesarchalom [4])
Traducido por: Ana María Bisbé York (amby@telefonica.net [5])
Para: PortalFox (http://www.portalfox.com [6])


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 Codeplex:

http://www.codeplex.com/Wiki/View.aspx?ProjectName=VFPX&title=GDIPlusX [7]

Image Properties

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))

Información de imágenes con GDI+ (Cesar Chalom) Traducción | Entrar/Crear una cuenta [8] | 0 Comentarios
Los comentarios son propiedad de sus respectivos autores.
No somos responsables de su contenido.
Enlaces
  [1] http://www.portalfox.com/index.php?name=News&file=article&sid=2405
  [2] http://www.portalfox.com/index.php?name=News&catid=&topic=2
  [3] http://weblogs.foxite.com/cesarchalom/archive/2007/04/08/3653.aspx
  [4] http://weblogs.foxite.com/cesarchalom/
  [5] http://www.portalfox.com/mailto:amby@telefonica.net
  [6] http://www.portalfox.com
  [7] http://www.codeplex.com/Wiki/View.aspx?ProjectName=VFPX&title=GDIPlusX
  [8] http://www.portalfox.com/user.php