SDL - Pegar una superficie en otra

Tratamos sobre el manejo de APIs frecuentemente utilizadas en el desarrollo de videojuegos, como SDL, pygame o SFML.

SDL - Pegar una superficie en otra

Notapor Juan Carlos » Sab Jul 07, 2007 1:11 pm

Hola, tenia la siguiente duda. Es posible pegar una superficie en otra? Por ejemplo tengo una imagen de un cuadrado rojo y por otro lado tengo una imagen de un circulo azul con el fondo de la superficie de un color violeta. A esta superficie la puedo tratar para que el color violeta sea un color transparente.
Hasta aca todo bien, pero yo quiero que esa superficie (la del circulo) se pegue en la superficie del cuadrado.

Es posible?

Gracias
Juan Carlos
 
Mensajes: 97
Registrado: Sab Jul 07, 2007 1:05 pm

Re: SDL - Pegar una superficie en otra

Notapor hugoruscitti » Sab Jul 07, 2007 6:26 pm

Juan Carlos escribió:Hola, tenia la siguiente duda. Es posible pegar una superficie en otra? Por ejemplo tengo una imagen de un cuadrado rojo y por otro lado tengo una imagen de un circulo azul con el fondo de la superficie de un color violeta. A esta superficie la puedo tratar para que el color violeta sea un color transparente.
Hasta aca todo bien, pero yo quiero que esa superficie (la del circulo) se pegue en la superficie del cuadrado.

Es posible?

Gracias


Si claro, es posible. Si utilizas la biblioteca SDL junto con el lenguaje
de programación C o C++, podrías utilizar la función SDL_BlitSurface:

Código: Seleccionar todo
SDL_Surface * cuadrado = SDL_LoadBMP("cuadrado.bmp");
SDL_Surface * circulo = SDL_LoadBMP("circulo.bmp");

// otras cosas ...

SDL_BlitSurface(circulo, cuadrado, NULL, NULL);


en cambio si utilizas python y pygame podrías hacer lo siguiente:

Código: Seleccionar todo
cuadrado = pygame.image.load('cuadrado.bmp')
circulo = pygame.image.load('circulo.bmp')

cuadrado.blit(circulo, (0, 0))


la documentación de la función SDL_BlitSurface se encuentra en la siguiente
web:

http://www.libsdl.org/cgi/docwiki.cgi/SDL_5fBlitSurface

y sobre pygame:

http://www.pygame.org/docs/

tu eliges, ¡Buena suerte!
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Notapor Juan Carlos » Lun Jul 09, 2007 2:36 pm

Hola, muchisimas gracias por tu respuesta. Ya lo he probado y funciona pero el codigo seria asi
Código: Seleccionar todo
SDL_BlitSurface(circulo,NULL,cuadrado,NULL)


Saludos
Juan Carlos
 
Mensajes: 97
Registrado: Sab Jul 07, 2007 1:05 pm


Volver a Sobre las bibliotecas multimedia

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado