
LOCAL lcSource, lcInfo, lnWidth, lnHeight, lnHorRes, lnVerRes, lnPixForm
lcSource = GETPICT()
LOCAL loImage AS GpImage OF ffc/_gdiplus.vcx
loImage = NEWOBJECT("GpImage", HOME() + "ffc/_gdiplus.vcx")
loImage.CreateFromFile(lcSource)
lnWidth = loImage.ImageWidth
lnHeight = loImage.ImageHeight
lnHorRes = loImage.HorizontalResolution
lnVerRes = loImage.VerticalResolution
lnPixForm = loImage.PixelFormat
lcPixForm = GetPixFormatName(lnPixForm)
lcInfo = "Image : " + lcSource + CHR(13) + CHR(13) +;
"Width : " + TRANSFORM(lnWidth) + " pixels" + CHR(13) +;
"Height : " + TRANSFORM(lnHeight) + " pixels" + CHR(13) +;
"Pixel Format : " + lcPixForm + CHR(13) +;
"Hor. Resol : " + TRANSFORM(lnHorRes) + " pixels/inch" + CHR(13) +;
"Ver. Resol : " + TRANSFORM(lnVerRes) + " pixels/inch" + CHR(13)
MESSAGEBOX(lcInfo, 64, "Image Information")
RETURN
PROCEDURE GetPixFormatName(nPix)
DO CASE
CASE nPix = 0x00030101
RETURN "1bppIndexed"
CASE nPix = 0x00030402
RETURN "4bppIndexed"
CASE nPix = 0x00030803
RETURN "8bppIndexed"
CASE nPix = 0x00101004
RETURN "16bppGrayScale"
CASE nPix = 0x00021005
RETURN "16bppRGB555"
CASE nPix = 0x00021006
RETURN "16bppRGB565"
CASE nPix = 0x00061007
RETURN "16bppARGB1555"
CASE nPix = 0x00021808
RETURN "24bppRGB"
CASE nPix = 0x00022009
RETURN "32bppRGB"
CASE nPix = 0x0026200A
RETURN "32bppARGB"
CASE nPix = 0x000E200B
RETURN "32bppPARGB"
CASE nPix = 0x0010300C
RETURN "48bppRGB"
CASE nPix = 0x001C400E
RETURN "64bppPARGB"
OTHERWISE
RETURN "Unidentified"
ENDCASE
ENDPROC