• Viernes 3 de Mayo de 2024, 11:43

Autor Tema:  Winapi Problemas Con El Gdi  (Leído 1486 veces)

Josh

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Winapi Problemas Con El Gdi
« en: Lunes 6 de Septiembre de 2004, 12:39 »
0
hola amigos, Tengo un problema con el tema grafico de windows. os cuento:

quiero imprimir una tarjeta de visita, con BMP de fondo, Texto, etc...

la cuestion es que imprimo el Texto, pero no se como añadir el BMP, alguien puede ayudarme???

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Winapi Problemas Con El Gdi
« Respuesta #1 en: Martes 7 de Septiembre de 2004, 16:18 »
0
añadir el bmp?
es decir quieres dibujar el grafico?...

pues que queres hacer?

quieres tu mismo hacer las funciones para cargar el bmp o quieres usar algo que ya este hecho?
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

REDD

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Winapi Problemas Con El Gdi
« Respuesta #2 en: Martes 7 de Septiembre de 2004, 19:02 »
0
  1.  
  2.  .if uMsg==WM_CREATE
  3.       invoke LoadBitmap,hInstance,addr fondo      ; cargas el bitmap
  4.       mov hBitmap,eax
  5.  
  6. .ELSEIF uMsg==WM_PAINT
  7.       invoke BeginPaint,hWnd,addr ps
  8.       mov    hdc,eax
  9.       invoke CreateCompatibleDC,hdc
  10.       mov    hMemDC,eax
  11.       invoke SelectObject,hMemDC,hBitmap
  12.       invoke GetClientRect,hWnd,addr rect
  13.       invoke BitBlt,hdc,0,0,rect.right,rect.bottom,hMemDC,0,0,SRCCOPY
  14.       invoke DeleteDC,hMemDC
  15.  
[/code]

las variables que se usan las declaro asi

variables globales
Código: Text
  1.  
  2. .DATA
  3.   fondo db "imagenFondo",0
  4.    
  5. .DATA?
  6.   hBitmap dd ?
  7.  
  8.  

variables locales (en el procedimiento WndProc)
Código: Text
  1.  
  2.   LOCAL ps:PAINTSTRUCT
  3.   LOCAL hdc:HDC
  4.   LOCAL hMemDC:HDC
  5.   LOCAL rect:RECT
  6.  
  7.  


si te fijas la variable fondo tiene el nombre del bitmap que deves de incluir en un archivo de recursos asi:

imagenFondo BITMAP "fondo.bmp"

Espero haber aclarado tu duda

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Winapi Problemas Con El Gdi
« Respuesta #3 en: Martes 7 de Septiembre de 2004, 19:43 »
0
Citar
Espero haber aclarado tu duda
No hay nada como un poco de ensamblador para aclarar las dudas  :lol:

Josh

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Winapi Problemas Con El Gdi
« Respuesta #4 en: Miércoles 8 de Septiembre de 2004, 11:53 »
0
sigo pez ......
yo tengo un HDC de impresion...

HDC hCardDC = NULL;
HDC memoDC = NULL;

HBITMAP     hBitmap = NULL;

hCardDC = CreateDC(NULL,lpctImpresora,lpctPuerto,NULL);
memoDC = CreateCompatibleDC(hCardDC);

hBitmap = (HBITMAP)LoadImage(NULL,"foto.bmp",IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);   

SelectObject(memoDC,hBitmap);
BitBlt(hCardDC,0,0,240,302,memoDC,0,0,SRCCOPY);

DeleteDC(memoDC);

1º no se si esta bien ( pero segun los ejemplos que he visto... es asi)
2º como puedo imprimir eso?
3º es algo mas complicado, es Java ->JNI<-DLL VC++ y es la primera vez que hago algo asi en mi vida  :o

espero que entendais que mi nivel de C es mas bien bajito, estoy empezando...