我在SDL中有一个透明表面,该表面包含像素数据。我现在需要“清除”此表面。

有没有办法清除表面,使其完全透明(以便我可以在上面绘制新的东西?)。我发现的唯一方法是创建一个全新的表面,但是出于多种原因,我想避免这种情况。

最佳答案

您正在使用什么版本的SDL(1.2或2.0)。

您可以通过将所有像素设置为某种颜色来“清洁”表面(请参阅memset和SDL_Surface中的pixels成员)。但是您无需使其透明即可绘制。如果在其上涂抹了另一个表面,则所有像素应更改其颜色。可以为os提供代码吗?

关于c++ - SDL:使现有表面透明/删除所有像素数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25450304/

10-15 15:46