FoxPro/Visual FoxPro - Colocar Imagen como Marca de Agua en Reporte

   
Vista:

Colocar Imagen como Marca de Agua en Reporte

Publicado por Gabriel (406 intervenciones) el 21/09/2009 18:01:57
Que tal amigos :

Estoy trabajando en VFP 6.0 y estoy tratando de colocar la imagen que tengo del logo de una empresa como Marca de Agua que lo he creado con MS-WORD como fondo en los reportes que tengo creados...

Lo intente colocando la imagen en el detalle del reporte creado pero el resultado no es lo esperado...

Me podrian decir que estoy haciendo mal para poder obtener el resultado esperado...

atte.,

Gabriel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Colocar Imagen como Marca de Agua en Reporte

Publicado por Edwin Bautista (31 intervenciones) el 21/09/2009 21:27:27
Hola Gabriel, lo que estas intentando hacer lo puedes hacer mediante una sinergia de office, lo que tienes que hacer es copiar la imagen que tienes en word y pegarla en power point, una vez que estes en power point haz click derecho sobre la imagen y eliges guardar como imagen, bien, esa imagen la guardas en el directorio del sistema y ya la podras usar normalmente sin problemas...espero te sirva.

cualquier consulta o si no te funciona podria darte otros metodos si me escribes a edwinjav_587@hotmail.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Colocar Imagen como Marca de Agua en Reporte

Publicado por Gabriel (406 intervenciones) el 21/09/2009 21:43:21
Amigo Edwin :

Gracias por tus comentarios, mi problema radica en como insertar la imagen que ya tengo creada como Marca de Agua...

Podrias indicarme que paso debo seguir para que aparezca en el fondo de mi reporte...

atte.,

Gabriel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Colocar Imagen como Marca de Agua en Reporte

Publicado por Pablo (Argentina) (433 intervenciones) el 21/09/2009 23:28:37
Hola Gabriel, bueno mira aca te paso un codigo que tendrias que probar, es para imgenes en BMP de ultima tendras que convertir tu word a un BMP sabes como hacerlo es facil. Probalo y si te funciona todo bien. Sino fijate al final que te puse un link de otro codigo el cual ya es mas complejo y lo tenes que analizar a ver si te sirve, que funciona es seguro pero velo vos.
Cualquier cosa me avisas

DO decl
#DEFINE LR_LOADFROMFILE 16

LOCAL lcBitmap
lcBitmap = "C:\Windows\bosque.bmp"

= LoadAndShowBitmap (lcBitmap, LR_LOADFROMFILE, 20,100)

PROCEDURE LoadAndShowBitmap (lcBitmap, lnLoadOptions, lnX,lnY)
#DEFINE IMAGE_BITMAP 0
LOCAL hBitmap
hBitmap = LoadImage (0, lcBitmap, IMAGE_BITMAP,;
0,0, lnLoadOptions)

IF hBitmap <> 0
= ShowBitmap (hBitmap, lnX,lnY)
= DeleteObject (hBitmap)
ELSE
= MessageB (lcBitmap + Chr(13) + Chr(13) +;
"Check if this is a valid BMP file.",;
32, " Unable to load an image from file")
ENDIF

PROCEDURE ShowBitmap (hBitmap, lnX, lnY)

#DEFINE AC_SRC_OVER 0
#DEFINE AC_SRC_ALPHA 1
#DEFINE AC_SRC_NO_ALPHA 2
#DEFINE SRCCOPY 13369376

LOCAL hWnd, hDC, hMemDC, lnWidth, lnHeight

STORE 0 TO lnWidth, lnHeight
= GetBitmapSize (hBitmap, @lnWidth, @lnHeight)

hWnd = GetActiveWindow()
hDC = GetWindowDC (hWnd)

hMemDC = CreateCompatibleDC(hDC)
= SelectObject (hMemDC, hBitmap)

LOCAL lnAlphaBlend, lnResult,;
lnBlendOp, lnBlendFlags, lnSrcConstAlpha, lnAlphaFormat

lnBlendOp = AC_SRC_OVER && always
lnBlendFlags = 0 && always
lnSrcConstAlpha = 48 && intensity, up to 255
lnAlphaFormat = 0 && try AC_SRC_ALPHA on non-white background

lnAlphaBlend = lnBlendOp +;
BitLShift(lnBlendFlags, 8) +;
BitLShift(lnSrcConstAlpha, 16) +;
BitLShift(lnAlphaFormat, 24)

lnResult = AlphaBlend (hDC, lnX,lnY, lnWidth,lnHeight,;
hMemDC, 0,0, lnWidth,lnHeight,;
lnAlphaBlend)

IF lnResult = 0

? "Error:", GetLastError()
ENDIF

= DeleteDC(hMemDC)
= ReleaseDC (hWnd, hDc)
RETURN .T.

FUNCTION GetBitmapSize (hBitmap, lnWidth, lnHeight)
#DEFINE BITMAP_STRU_SIZE 24
LOCAL lcBuffer
lcBuffer = Repli(Chr(0), BITMAP_STRU_SIZE)

IF GetObjectA(hBitmap, BITMAP_STRU_SIZE, @lcBuffer) <> 0
lnWidth = buf2dword (SUBSTR(lcBuffer, 5,4))
lnHeight = buf2dword (SUBSTR(lcBuffer, 9,4))
ENDIF

FUNCTION buf2dword (lcBuffer)
RETURN Asc(SUBSTR(lcBuffer, 1,1)) + ;
BitLShift(Asc(SUBSTR(lcBuffer, 2,1)), 8) +;
BitLShift(Asc(SUBSTR(lcBuffer, 3,1)), 16) +;
BitLShift(Asc(SUBSTR(lcBuffer, 4,1)), 24)

PROCEDURE decl
DECLARE INTEGER CreateCompatibleDC IN gdi32 INTEGER hdc
DECLARE INTEGER DeleteDC IN gdi32 INTEGER hdc
DECLARE INTEGER GetActiveWindow IN user32
DECLARE INTEGER GetWindowDC IN user32 INTEGER hwnd
DECLARE INTEGER ReleaseDC IN user32 INTEGER hwnd, INTEGER dc
DECLARE INTEGER DeleteObject IN gdi32 INTEGER hObject
DECLARE INTEGER SelectObject IN gdi32 INTEGER hdc, INTEGER hObject

DECLARE INTEGER LoadImage IN user32;
INTEGER hinst, STRING lpszName, INTEGER uType,;
INTEGER cxDesired, INTEGER cyDesired, INTEGER fuLoad

DECLARE INTEGER GetObject IN gdi32 AS GetObjectA;
INTEGER hgdiobj, INTEGER cbBuffer, STRING @lpvObject

DECLARE INTEGER AlphaBlend IN Msimg32;
INTEGER hDestDC, INTEGER x, INTEGER y,;
INTEGER nWidth, INTEGER nHeight, INTEGER hSrcDC,;
INTEGER xSrc, INTEGER ySrc, INTEGER nWidthSrc,;
INTEGER nHeightSrc, INTEGER blendFunction

DECLARE INTEGER GetLastError IN kernel32

Sino te funciono ese codigo aca te paso un link mas seguro:

http://www.portalfox.com/index.php?name=News&file=article&sid=2481

Suerte y avisame!!!!!!!!!!!!

Pablo - Argentina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Colocar Imagen como Marca de Agua en Reporte

Publicado por Gabriel (406 intervenciones) el 22/09/2009 00:58:41
Gracias Amigo Pablo por tus comentarios :

Te comento que ya habia estudiado dicho Codigo API que lo que hace es convertir una Imagen en formato BMP como Marca de Agua, la otra opcion era utilizar GDI Plus pero ello solo funciona a partir de VFP 9.0.
Entonces decidi hacerlo en la forma mas simple y directa, y estaba cerca de lograrlo.

Al final de la tarde logre solucionar el problema que se me estaba presentando y realmente quedo excelente la presentacion del Fondo de mi reporte al estilo Marca de Agua...

Hasta la proxima amigo...

atte.,

Gabriel
(Lima-Perú)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Colocar Imagen como Marca de Agua en Reporte

Publicado por MANUEL JESUS (2 intervenciones) el 07/02/2011 17:59:08
Si has conseguido poner una marca de agua en un reporte, me podrías indicar como, si me mandas un ejemplo te lo agradecería mucho. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Colocar Imagen como Marca de Agua en Reporte

Publicado por rene ibarra ren513466@hotmail.com (4 intervenciones) el 08/09/2011 16:42:07
Hola Gabriel, mira yo tengo ese mismo problema necesito poner una imagen en un reporte de vfp 6 pero tiene que ser en toda la hoja y ya lo intente pero solo me sale la imagen en una parte, me puedes decir como lograste solucionar el problema, por favor??? si pudieras mandarme la información a mi correo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar