gpt4 book ai didi

SDL 创建透明表面

转载 作者:行者123 更新时间:2023-12-05 01:15:04 25 4
gpt4 key购买 nike

我正在寻找如何在 SDL 中创建透明表面,我发现以下内容:http://samatkins.co.uk/blog/2012/04/25/sdl-blitting-to-transparent-surfaces/

基本上,它是:

SDL_Surface* surface;
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
surface = SDL_CreateRGBSurface(SDL_HWSURFACE,width,height,32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF);
#else
surface = SDL_CreateRGBSurface(SDL_HWSURFACE,width,height,32, 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000);
#endif

它有效,但对我来说似乎非常糟糕,所以我想知道是否有更好的方法来做到这一点。

最佳答案

您所拥有的是检查计算机是使用大端还是小端。 SDL 是多平台的,计算机使用不同的字节序。

那篇文章的作者是以“平台不可知”的方式写的。如果你在 PC 上运行它,你可能只使用:

surface = SDL_CreateRGBSurface(SDL_HWSURFACE,width,height,32, 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000);

你不需要条件。

话虽如此,该代码将无法移植到使用大字节序的其他平台

关于SDL 创建透明表面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16610829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com