*目前基本所有图形化的操作系统默认都采用32位色(即“真彩色“)显示整个视窗系统,
即每一像素用32位表示,其中分别是红色、绿色、蓝色和Alpha混合(即RGBA),各占8位。
*如果这个位图是24位色的,而窗口是32位色的,
将一个表面blit到另一个不同格式的表面上不是一个好主意,
因为这样SDL会在每次blit时做一次临时性的格式转换,
这会导致程序的运行效率降低。
1.创建 2 个表面SDL_Surface
SDL_Surface *loadedImage = NULL; // 临时空间
SDL_Surface *optimizedImage = NULL; // 优化后的图像
2.加载图像:SDL_LoadBMP(); 或 IMG_Load();
将图像加载到临时的表面:loadedImage
3.创建一个优化了的图像:SDL_DisplayFormat();
optimizedImage = SDL_DisplayFormat( loadedImage );
4.释放临时的图像:SDL_FreeSurface();
SDL_FreeSurface( loadedImage );
即每一像素用32位表示,其中分别是红色、绿色、蓝色和Alpha混合(即RGBA),各占8位。
*如果这个位图是24位色的,而窗口是32位色的,
将一个表面blit到另一个不同格式的表面上不是一个好主意,
因为这样SDL会在每次blit时做一次临时性的格式转换,
这会导致程序的运行效率降低。
1.创建 2 个表面SDL_Surface
SDL_Surface *loadedImage = NULL; // 临时空间
SDL_Surface *optimizedImage = NULL; // 优化后的图像
2.加载图像:SDL_LoadBMP(); 或 IMG_Load();
将图像加载到临时的表面:loadedImage
3.创建一个优化了的图像:SDL_DisplayFormat();
optimizedImage = SDL_DisplayFormat( loadedImage );
4.释放临时的图像:SDL_FreeSurface();
SDL_FreeSurface( loadedImage );