这段代码:

TTF_Font * titania = TTF_OpenFont( "chintzy.ttf",28);
SDL_Color textColor = {255,255,0};
SDL_Surface * textSurface = TTF_RenderText_Solid(titania,"Its Working!",textColor);
std::cout << (int)textSurface->format->BytesPerPixel;

打印数字1,表示TTF_RenderTextSolid返回的表面每个像素有一个字节。如果我是正确的,则应该是每个像素4个字节。有人知道为什么会这样吗?

最佳答案

看起来它确实在执行the documentation所说的:

如果要32bpp,则需要使用*_Blended()变体:

10-08 11:54