Allegro a półprzeźroczystość
Ostatnio zmodyfikowano 2010-01-23 19:31
Zachariasz Temat założony przez niniejszego użytkownika |
Allegro a półprzeźroczystość » 2010-01-22 22:21:44 Witam,
wiem że temat był już poruszany ale nie udało mi się uzyskać konkretnej odpowiedzi: Czy da radę w allegro uzyskać półprzeźroczystość z plików PNG? Ktoś kiedyś podał taki pomysł:
"Hmm. Więc tak. Jeżeli chcesz alphę - otwierasz GIMPA, i niestety musisz zrobić różowe tło. Rysujesz coś na nim, później bodajże dajesz warstwa->przeźroczystość. Jeżeli jest tam już alpha, usuwasz ją, później wchodzisz tam znowu, ustaw kolor jako alphę, i ustawiasz różowy. Powinno działać, mi działało. Of korz plik PNG."
ale to nie działało; nie jestem nawet pewien czy owa wypowiedź dotyczyła pół- czy przeźroczystości. Przeglądałem dokumentację ale niczego takiego nie znalazłem. Czy jeśli w czystym allegro jest to niemożliwe to czy istnieje jakiś trik, aby takową półprzeźroczystość zrealizować w programie napisanym stricte w allegro?
Pozdrawiam |
|
malan |
» 2010-01-22 23:13:15 Hmmm może luknij do tego: Dev-Cpp\\examples\\allegro\\exalpha.exe. |
|
Zachariasz Temat założony przez niniejszego użytkownika |
» 2010-01-23 19:31:31 Właśnie o to chodziło, dzięki wielkie. Zaiste najciemniej jest pod latarnią: szukałem tego wszędzie, podczas gdy rozwiązanie leżało spokojnie na dysku. Dla potomności: #include <allegro.h> #include <alpng.h>
int main() { allegro_init(); alpng_init(); install_keyboard(); set_color_depth( 32 ); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 320, 240, 0, 0 ); set_palette( default_palette ); clear_to_color( screen, makecol( 0, 0, 255 ) ); BITMAP * png = load_png( "1.png", 0 ); set_alpha_blender();; draw_trans_sprite( screen, png, 0, 0 ); destroy_bitmap( png ); readkey(); allegro_exit(); return 0; } END_OF_MAIN();
Projekt musi być linkowany dynamicznie. Do konsolidatora dodajemy: -l alpng -l alleg |
|
« 1 » |