Nekronomik Temat założony przez niniejszego użytkownika |
Allegro 5 przezroczystość bitmapy » 2013-01-29 16:00:22 Więc tak,mam problem z uzyskaniem przezroczystości bitmapy na bitmapie,chodzi oto żeby za jedną bitmapą było widać drugą,używam takiego kodu; al_draw_tinted_bitmap(h2o, al_map_rgba_f(255, 255, 255, 0,5),pozycja_x(szerokosc_okna,400), 0, 0); w al_map_rgba_f(255, 255, 255, 0,5) tuta różności już wpisywałem wszystko prawie działa jak chce uzyskać przezroczystość bezpośrednio w okienku, Chce uzyskać mniej więcej taki efekt jak w np(gimp} gdzie nakłada się na siebie przezroczyste warstwy i widać jak jedna przez drugą przenika gdy się coś narysuje. |
|
SeaMonster131 |
» 2013-01-29 16:02:13 |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2013-01-29 16:26:46 Z "_f" tez już próbowałem. gdy podam takie wartości to bitmapa nie jest przezroczysta al_draw_tinted_bitmap(h2o, al_map_rgba(255, 255, 255, 250),pozycja_x(szerokosc_okna,400), 0, 0); a tu zmienia jak by w sobie przezroczystość al_draw_tinted_bitmap(h2o, al_map_rgba(255, 255, 255, 150),pozycja_x(szerokosc_okna,400), 0, 0); na dodatek dziwna smuga robi się. Ale gdy wyłącze tło to wszystko prawie działa. Jak będę widział jak wrzuca się tu obrazki to pokaże jak to wygląda. |
|
Gabes |
» 2013-01-29 19:53:10 al_map_rgb( 255, 255, 255 ); argumenty to liczby unsigned char czyli z zakresu od 0 do 255.- RGB al_map_rgba( 255, 255, 255, 128 ); tu jak wyzej plus kanal alpha.- RGBA al_map_rgb_f( 1.0, 1.0, 1.0 ); argumenty to liczby float z zakresu 0.0f do 1.0f - RGB al_map_rgba_f( 1.0, 1.0, 1.0, 0.5 ); tu jak wyzej plus kanal alpha.RGBA Zmieniając argumenty RGB można wyświetlać jeden, dwa, lub trzy kolory w bitmapie By nie było tzw. smug czyść bufor za każdym obiegiem pętli al_clear_to_color( al_map_rgb( 255, 255, 255 ) ); - biale tlo. Aby było widać półprzezroczystą bitmapę powinna się pod nią znajdować jakaś inna wielobarwna, bo inaczej wygląda jak by była tylko rozjaśniona. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2013-01-29 20:45:32 al_draw_scaled_bitmap(tlo,0, 0, 1024, 768 , 0, 0, szerokosc_okna, wysokosc_okna, false); //to jest tło wielobarwne al_draw_tinted_bitmap(h2o, al_map_rgba(255, 255, 255, 150),pozycja_x(szerokosc_okna,400), 0, 0); //to jest bitmapa która ma być przezroczysta al_clear_to_color(al_map_rgb(255,255,255));
wszystko jest w pętli for dodatkowo dla bitmapy h2o użyłem al_convert_mask_to_alpha( h2o, al_map_rgb( 255 , 255 , 255 ) ); ale to chyba nie powinno powodować błędu. Jedynie co się dzieje to cień wokół napisu w bitmapie h2o jest biały całkowicie. gdy zmieniam rgb na i alfa; al_map_rgba(10, 10, 10, 10) to wszystko działa jak powinno ale bitmapa jest strasznie jasna ale przezroczysta,ale jak chce przyciemnić bitmapę to pojawiają się smugi.
http://imageshack.us/photo/my-images/210/nowyobrazmapabitowanh.png/ //tak wygląda po przyciemnieniu http://imageshack.us/photo/my-images/89/nowyobrazmapabitowabh.png/ //a tak po rozjaśnieniu
|
|
Gabes |
» 2013-01-29 21:04:11 al_convert_mask_to_alpha( h2o, al_map_rgb( 255 , 255 , 255 ) ); ta funkcja powoduje że w bitmapie h2o kolor biały nie będzie wyświetlany, i tyle Zajrzyj na stronę: https://www.allegro.cc/files/Pobierz dokumentacje w Reference Manual: Online, PDF Sto przykładowych programów plus dwie gry-demo -Examples: Source & Windows Binaries Bo tak to co chwile będziesz o coś pytał, a są to podstawy. |
|
« 1 » |