http://weblogs.foxite.com/vfpimaging/archive/2006/02/06/1124.aspx
Autor: Cesar Ch.
Traducido por: Ana María Bisbé York
La función GetThumbnailImage puede ser utilizada para redimensionar imágenes; pero el resultado nos deja una imagen de menor calidad.
#DEFINE GDIPLUS_PIXELFORMAT_1bppIndexed 0x00030101 #DEFINE GDIPLUS_PIXELFORMAT_4bppIndexed 0x00030402 #DEFINE GDIPLUS_PIXELFORMAT_8bppIndexed 0x00030803 #DEFINE GDIPLUS_PIXELFORMAT_16bppGrayScale 0x00101004 #DEFINE GDIPLUS_PIXELFORMAT_16bppRGB555 0x00021005 #DEFINE GDIPLUS_PIXELFORMAT_16bppRGB565 0x00021006 #DEFINE GDIPLUS_PIXELFORMAT_16bppARGB1555 0x00061007 #DEFINE GDIPLUS_PIXELFORMAT_24bppRGB 0x00021808 #DEFINE GDIPLUS_PIXELFORMAT_32bppRGB 0x00022009 #DEFINE GDIPLUS_PIXELFORMAT_32bppARGB 0x0026200A #DEFINE GDIPLUS_PIXELFORMAT_32bppPARGB 0x000E200B #DEFINE GDIPLUS_PIXELFORMAT_48bppRGB 0x0010300C #DEFINE GDIPLUS_PIXELFORMAT_64bppPARGB 0x001C400E lcSource = GETPICT("jpg;gif;bmp") lcDestination = ADDBS(JUSTPATH(lcSource))+ "Resized_" +; JUSTSTEM(lcSource)+".bmp" LOCAL loImage AS GpImage OF ffc/_gdiplus.vcx loImage = NEWOBJECT("GpImage", HOME() + "ffc/_gdiplus.vcx") loImage.CreateFromFile(lcSource) LOCAL loBitmap AS GpBitmap OF ffc/_gdiplus.vcx loBitmap = NEWOBJECT("GpBitmap", HOME() + "ffc/_gdiplus.vcx") LOCAL loGraphics as GpGraphics OF HOME() + ffc/_gdiplus.vcx loGraphics = NEWOBJECT("GpGraphics",HOME() + "ffc/_gdiplus.vcx") *** Ahora creamos una imagen con *** Create Method - Crea un objeto bitmap . *** ¿La sintaxis?: THIS.Create(tnWidth, tnHeight[, tnPixelFormat]) *** *** tnPixelFormat, es opcional, una de las constantes GDIPLUS_PIXELFORMAT_*, *** su valor predeterminado es GDIPLUS_PIXELFORMAT_32bppARGB. LOCAL lnNewWidth, lnNewHeight lnNewWidth = 640 && Coloque aquí el ancho (Width) deseado lnNewHeight = 480 && Coloque aquí la altura (Height) deseada loBitmap.Create(lnNewWidth, lnNewHeight, GDIPLUS_PIXELFORMAT_32bppPARGB) *** Las otras constantes están al inicio de este código loGraphics.CreateFromImage(loBitmap) loGraphics.DrawImageScaled(loImage, 0, 0, lnNewWidth, lnNewHeight) loBitmap.SaveToFile(lcDestination, "image/bmp") RETURN
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.