Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++ AllegroPNG] przezroczystość pliku png

Ostatnio zmodyfikowano 2015-01-13 16:31
Autor Wiadomość
Gluti664
Temat założony przez niniejszego użytkownika
[C++ AllegroPNG] przezroczystość pliku png
» 2015-01-10 21:29:29
Witam
Dopiero zaczynam przygodę z c++ i allegro.
Kierując się kursem znajdującym się na tej stronie o Allegro 4 natknąłem się na problem związany z dodawaniem plików png. http://cpp0x.pl/kursy​/Kurs-Allegro-4-x-C++​/Dodatek-biblioteka-AllegroPNG​/76
Skopiowałem kod do kompilatora niestety efekt jest nie zadowalający. Grafika ładuje się jednak jej tło miało być przezroczyste a jest czarne.
Czy jest możliwe załadowanie pliku PNG bez tła ?
Proszę o pomoc.
C/C++
#include <allegro.h>
#include <alpng.h>
/*volatile long speed = 0;
void speedplus()
{
    speed++;
}END_OF_FUNCTION(speedplus);
LOCK_VARIABLE(speed);
LOCK_FUNCTION(speedplus);*/
int main()
{
    allegro_init();
    alpng_init();
    //install_timer();
    //install_int_ex(speedplus, BPS_TO_TIMER(20));
    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( 255, 0, 255 ) );
    BITMAP * png = load_png( "abc.png", 0 ); //Podajemy nazwę, of korz
    masked_blit( png, screen, 0, 0, 0, 0, png->w, png->h );
    /*while(!key[KEY_ESC])
            {
            }*/
    destroy_bitmap( png );
    readkey();
    allegro_exit();
    return 0;
} END_OF_MAIN();
P-124606
DejaVu
» 2015-01-11 13:53:36
Allebgro4 nie wspiera chyba kanału alfa. Należy podać, że np. kolor X ma być przezroczysty. Poza tym biblioteka Allegro 4 to najgorszy możliwy wybór na dzisiejsze czasy i tym samym dostępne rozwiązania.
P-124647
marianekA
» 2015-01-13 16:31:34
To co ma być przezroczyste musi być na obrazku w kolorze różowym (#FF00FF)
a przy wyświetlaniu trzeba użyć maski np:
 
C/C++
masked_blit( png, screen, 0, 0, 0, 0, png->w, png->h );
Jeśli dopiero zaczynasz to lepiej uczyć się Allegro 5 - ma dużą przewagę nad wersją 4.
P-124801
« 1 »
  Strona 1 z 1