Probe lo siguiente:
FOR nPageIndex=1 TO oListener.PageTotal
** CODIGO ACTUAL QUE USO PARA EXPORTAR A JPG
cOutputFile = cCarpeta+"Informe_Hoja_"+TRANS(nPageIndex)+".JPG"
oListener.OutputPage(nPageIndex,;
cOutputFile, 102, 0,0,768,1024) && 102=JPG
** CODIGO DE PRUEBA PARA GENERAR UN EMF DE 3840 X 5120 PIXELES
(1024 x 768 AL 500%)
cOutputFile = cCarpeta+"Informe_Hoja_"+TRANS(nPageIndex)+".EMF"
oListener.OutputPage(nPageIndex,;
cOutputFile, 101, 0,0,3840,5120) && 101=EMF
WITH loSelection
.InlineShapes.AddPicture("&cOutputFile", .F.,.T.)
IF nPageIndex # oListener.PageTotal
.InsertBreak(wdSectionBreakNextPage)
ENDIF
ENDWITH
ERASE "&cOutputFile"
NEXT
El emf igualmente queda de baja resolucion supongo la original de 1024
x 768 por ejemplo compare la vista previa al 500% con el archivo que
redimensione con gdi+:
********************************
*******************************
#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;EMF")
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')
*** Now we create a new image with
*** Create Method - Creates a bitmap object.
*** Syntax: ? THIS.Create(tnWidth, tnHeight[, tnPixelFormat])
***
*** tnPixelFormat, optional, one of GDIPLUS_PIXELFORMAT_* constants,
*** defaults to GDIPLUS_PIXELFORMAT_32bppARGB.
LOCAL lnNewWidth, lnNewHeight
lnNewWidth = 3840&& Put here the desired Width
lnNewHeight = 5120 && Put here the desired Height
loBitmap.Create(lnNewWidth, lnNewHeight,
GDIPLUS_PIXELFORMAT_32bppPARGB)
*** The other constants are in the beginning of this code
loGraphics.CreateFromImage(loBitmap)
loGraphics.DrawImageScaled(loImage, 0, 0, lnNewWidth, lnNewHeight)
loBitmap.SaveToFile(lcDestination, "image/bmp")
RETURN
******************************************
*****************************************
Aqui el BMP FINAL QUEDO DE MAS O MENOS 7 MB PERO LO ENFRENTE CON LA
VISTA PREVIA AL 500% DEL PREVIEW Y EL PREVIEW TIENE MUCHA MAS
RESOLUCION AHORA VEO DE ENVIAR EL EJEMPLO CON UN ADJUNTO.
SALUDOS
HERNAN.
> > HERNAN ANGELINI- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -