• Jueves 28 de Marzo de 2024, 21:38

Autor Tema:  Mostrar Imagen...  (Leído 1282 veces)

ymabreu

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Mostrar Imagen...
« en: Viernes 30 de Mayo de 2008, 16:06 »
0
Hola.
Necesito mostrar una imagen en pantalla en la posición deseada. Esta imagen quiero que tenga una parte transparente, algo así como un gif, una imagen que no es cuadrada y si es posible también la forma de borrarla para posteriormente para mostrarla en otra posición.
Por si de algo sirve tengo el Devc++ y el visual c++.net 2005 express.
De antemano muchas gracias.

Riskz

  • Miembro activo
  • **
  • Mensajes: 39
    • Ver Perfil
Re: Mostrar Imagen...
« Respuesta #1 en: Domingo 1 de Junio de 2008, 22:01 »
0
Pues yo lo haria usando una libreria como Allegro o alguna otra para dibujar en pantalla... si quieres te enseño con Allegro pero abri un tema preguntando en el foro de Allegro de SoloCodigo(en programacion de videjuegos)

(http://foros.solocodigo.com/index.php?showforum=78)

diego.martinez

  • Miembro MUY activo
  • ***
  • Mensajes: 297
    • Ver Perfil
Re: Mostrar Imagen...
« Respuesta #2 en: Lunes 2 de Junio de 2008, 12:37 »
0
con las gdi de windows puedes hacerlo, empleando el StretchDibits puedes cambiarle el tamaño y gestionando el TransparentBlt haces que sea transparente

                     
Código: Text
  1.   hLoc  =LoadImage(NULL,s,IMAGE_BITMAP,0,0,LR_LOADFROMFILE | LR_DEFAULTSIZE);
  2.  
  3.                         SetStretchBltMode(hDC,COLORONCOLOR);
  4.       SelectObject(memHDC, hLoc);
  5.  
  6.       x=((A->GetPosition()).x)+MapaOx;
  7.       y=((A->GetPosition()).y)+MapaOy;
  8.  
  9.       TransparentBlt(
  10.         hDC,
  11.         0+x-15,
  12.         0+y-15,
  13.         30,
  14.         30,
  15.         memHDC,
  16.         0,
  17.         0,
  18.         30,
  19.         30,
  20.         RGB(255,255,255));
  21.  

Edito: este codigo es para cargar un BMP para hacerlo con otro tipo, localizas la imagen en un DIB antes...