absflg Temat założony przez niniejszego użytkownika |
» 2011-01-25 22:28:01 Nie zmieniam. Posługuję się nawet tą samą zmienną co podczas zalewania obszaru kolorem. |
|
DejaVu |
» 2011-01-25 22:35:20 A jak wygląda zamalowywanie tym różowym kolorem? |
|
absflg Temat założony przez niniejszego użytkownika |
» 2011-01-25 22:50:05 { SDL_Rect r; Uint32 col; col = SDL_MapRGB( this->mask->format, 0xff, 0x00, 0xff ); r.x = 0; r.y = 0; r.w = this->mask->w; r.h = this->mask->h; SDL_FillRect( this->mask, & r, col ); } |
|
DejaVu |
» 2011-01-25 22:52:12 Jeżeli masz czas poczekać do jutra to zainstaluję sobie SDL'a i napiszę sampla ;p bo tak to będziemy jeszcze godzinę wymieniać się postami (w najlepszym wypadku) :) |
|
DejaVu |
» 2011-01-26 00:18:16 #include <SDL/SDL.h> #include <windows.h>
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { SDL_Init( SDL_INIT_EVERYTHING ); SDL_Surface * ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE ); SDL_Surface * tapeta = SDL_LoadBMP( "tapeta.bmp" ); SDL_Surface * obraz = SDL_LoadBMP( "obraz.bmp" ); Uint32 col = SDL_MapRGB( obraz->format, 0x00, 0x00, 0x00 ); SDL_SetColorKey( obraz, SDL_SRCCOLORKEY | SDL_RLEACCEL, col ); SDL_BlitSurface( tapeta, NULL, ekran, NULL ); SDL_BlitSurface( obraz, NULL, ekran, NULL ); SDL_Flip( ekran ); SDL_Delay( 2000 ); SDL_Quit(); return 0; }
W powyższym kodzie przezroczystość u mnie działa.
/edit:
A poniższy kod wycina dziurę w środku:
#include <SDL/SDL.h> #include <windows.h>
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { SDL_Init( SDL_INIT_EVERYTHING ); SDL_Surface * ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE ); SDL_Surface * tapeta = SDL_LoadBMP( "tapeta.bmp" ); SDL_Surface * obraz = SDL_LoadBMP( "obraz.bmp" ); Uint32 col = SDL_MapRGB( obraz->format, 0x00, 0x00, 0x00 ); { SDL_Rect r; r.x = obraz->w / 4; r.y = obraz->h / 4; r.w = obraz->w / 2; r.h = obraz->h / 2; SDL_FillRect( obraz, & r, col ); } SDL_SetColorKey( obraz, SDL_SRCCOLORKEY | SDL_RLEACCEL, col ); SDL_BlitSurface( tapeta, NULL, ekran, NULL ); SDL_BlitSurface( obraz, NULL, ekran, NULL ); SDL_Flip( ekran ); SDL_Delay( 2000 ); SDL_Quit(); return 0; }
|
|
Drraven |
» 2011-01-26 08:54:11 Dlaczego SDLa łączysz z WinAPI? |
|
DejaVu |
» 2011-01-26 12:22:30 A co to za różnica? Po prostu nie miałem jeszcze skompilowanego liba SDLmain. |
|
Drraven |
» 2011-01-26 14:17:40 No SDL przenośny winapi raczej nie. |
|
1 « 2 » 3 |