[英]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.