| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
alexguerra
Registrado: 15 Jun 2007 Mensajes: 10
| Publicado: 18/06/2007 1:22 pm | | | Título: Imagen con extensión png |
| Necesito visualizar una imagen png (para que no tenga fondo), con allegro y no soy capaz.
Llevo horas y horas buscando por la red y nada.
Si alguien me ayuda. |
|
| Volver arriba | |
 |
alexguerra
Registrado: 15 Jun 2007 Mensajes: 10
| Publicado: 19/06/2007 1:27 am | | | Título: |
| También me valdría con poner el fondo transparente.
Con SDL está claro, pero a mi no me va muy bien, no sé si sera por S.O. W.Vista.
Pero con allegro ni idea. |
|
| Volver arriba | |
 |
Killrazor
Registrado: 24 Ene 2006 Mensajes: 1182 Ubicación: Barcelona
| Publicado: 19/06/2007 6:18 am | | | Título: |
| Por dios, quitate el Vista!!! _________________ I wanna heal i wanna feel like I'm close to something real. I wanna find something I've wanted all along somewhere i belong |
|
| Volver arriba | |
 |
|
alexguerra
Registrado: 15 Jun 2007 Mensajes: 10
| Publicado: 19/06/2007 8:17 am | | | Título: |
| De todas formas ya es un reto personal lo de allegro.
El jueguecillo lo tengo bastante avanzado, pero así todo queda muy cutre ver un gráfico con fondo.
Por cierto si alguien sabe la manera de que los gráficos cargados no parpadeen, que me lo haga saber que estoy muy interesado.
Gracias a todos.
Es un foro un poco parado, pero la gente es muy maja. |
|
| Volver arriba | |
 |
alexguerra
Registrado: 15 Jun 2007 Mensajes: 10
| Publicado: 21/06/2007 10:48 pm | | | Título: |
| Bueno, ya he conseguido unas bibliotecas para allegro, llamadas png y pngwriter que deberían ir bien.
Pero ahora el problema es que si meto los includes, compila, linka y ejecuta sin problemas, pero si además introduzco un comando de éstas, entonces compila, pero a la hora de crear el .exe, Build Exe Error.
Que hago? |
|
| Volver arriba | |
 |
nachourpi
Registrado: 22 Jun 2007 Mensajes: 1
| Publicado: 22/06/2007 8:57 am | | | Título: |
| Hola, es mi primer mensaje en el rincondelc , pero espero responder bien. Podes usar allegro en combinacion con la libreria "loadpng" que con el gestor de paquetes del Dev-cpp es muy facil de instalar. Tambien vas a necesitar descargar e instalar antes las librerias "libpng" y "zlib" si mal no recuerdo. Esto no va a ser de grabn problema al menos con el Dev-Cpp por que cuando intentes instalar "loadpng" te va a decir que libreria tenes que instalar antes y asi vas descargando la que necesites. Bueno una vez que instalaste todo esto, en la cabecera del programa haces los includes correspondientes: #include <png.h> //loadpng solicita que incluyas esta libreria #include <allegro.h> #include "loadpng.h" /*Esta es la que nos proveera las funciones para tratar con archivos png cual si de bmp se tratasen */
En los "init()" ademas de incializar allegro, teclado y demas, pone "set_alpha_blender();" que sirve para habilitar el canal alpha (transparencias ) entonces ahora usa libremente las funciones de "loadpng" tranquilamente, algunas de estas son :
"...
BITMAP *watermark; PALETTE palette;
watermark = load_png("dll/watermark.png",palette);
draw_trans_sprite(screen,watermark,0,0); /* Esta funcion para dibujar bitmaps transparentes, dibujará el BITMAP watermark en el BITMAP screen */
..."
Nota IMPORTANTE : Es posible que te este dando el Build error por que para que funcione (al menos esto que te explique arriba ) tenes que pasarle los siguientes parametros al Linker: -lldpng -lpng -lz -lalleg ( -lldpng--->Para la libreria loadpng -lpng ---->Para la libreria png.h -z----->Para la libreria zlib.png -lalleg---->Para Allegro , las tenes que escribir en ese oden )
Si usas Dev-Cpp podes escribir estos parametros en : Project/Project Options / Parameters / Linker
Bueno, avisame si no te funciona o si necesitas q trate de explicar mejor algo.
Otra cosa el parpadeo seguramente se debe a que estas dibujando los graficos en cada bucle del "While principal". Podes evitar esto tratando de dibujar los bitmaps en pantalla lo menos posible usando condiciones ( if.. ) en el bucle principal ( "while principal" ). O, si necesitas dibujarlo asi para hacer una animacion por ejemplo, podes usar alguna tecnica como la del "double buffering" que etsa muy bien explicada en el manual (en ingles) de Vivace que lo podes descargar de www.allegro.cc Suerte!, saludos a toda la comunidad!
NAcho[color=darkred][/color] |
|
| Volver arriba | |
 |
|
|