SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: ymabreu en Viernes 30 de Mayo de 2008, 16:06

Título: Mostrar Imagen...
Publicado por: ymabreu en Viernes 30 de Mayo de 2008, 16:06
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.
Título: Re: Mostrar Imagen...
Publicado por: Riskz en Domingo 1 de Junio de 2008, 22:01
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 (http://foros.solocodigo.com/index.php?showforum=78))
Título: Re: Mostrar Imagen...
Publicado por: diego.martinez en Lunes 2 de Junio de 2008, 12:37
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...