簡體   English   中英

SDL_SetColorKey不會將背景設置為透明

[英]SDL_SetColorKey doesn't set the background transparent

它歸結為以下代碼:

SDL_Surface *smiley = SDL_LoadBMP("./images/smileys/normal_up.bmp");
printf("Transparation worked: %i\n", SDL_SetColorKey(smiley, SDL_SRCCOLORKEY, SDL_MapRGB(smiley->format, 255, 0, 255)));
SDL_BlitSurface(smiley, NULL, window, NULL);
SDL_Flip(window);

這是我使用的圖像 在Arch Linux上使用SDL。

在SDL_SetColorKey()調用之前的這些行使整個事情正常進行:

smiley->format->Amask = 0xFF000000;
smiley->format->Ashift = 24;

現在,我可以在32或24 bpp VideoMode中使用.bmp或.jpg文件,一切正常! 不知道為什么,不知道它是如何工作的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM