0
它歸結爲以下代碼:SDL_SetColorKey不設置背景透明
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);
這是我用過的image。 在Arch Linux上使用SDL。
您的確切代碼適用於我,必須是其他東西。在win上使用SDL 1.2 7.圖片是否出現? – 2013-02-07 19:18:34
嘗試在SDL_SetVideoMode()調用中使用每像素32位 – Kaslai
透明度適用於任何深度。即使使用8 bpp也是如此,因爲這不是正常的透明度,而是設置爲不可見的特殊顏色。 – 2013-02-07 19:24:43