c++ - SDL_Texture 不透明度

标签 c++ sdl sdl-2

如何更改 SDL_Texture 的不透明度?而且我不知道如何在我的函数中应用不透明度数。

我的代码

    void drawTexture(SDL_Texture *img, int x, int y, int width, int height, double opacity)
    {
        SDL_Rect SrcR;
        SDL_Rect DestR;

        SrcR.x = 0;
        SrcR.y = 0;
        SrcR.w = width;
        SrcR.h = height;

        DestR.x = x;
        DestR.y = y;
        DestR.w = width;
        DestR.h = height;

        SDL_RenderCopy(_main::_main_renderer, img, &SrcR, &DestR);
    }

最佳答案

使用SDL_SetTextureAlphaMod :

SDL_SetTextureAlphaMod(img, opacity);

这将设置纹理的不透明度 (alpha),alpha 值必须是 Uint80(完全透明也就是不可见)到 255(完全不透明)。

关于c++ - SDL_Texture 不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20639426/

相关文章:

c++ - 无法访问静态方法 (C++)

c++ - SDL2 中的渲染器到底是什么?

c++ - 与 SDL2 一起构建 SDL2_image(和类似情况)

c++ - SDL_GL_SwapBuffers() 间歇性变慢

Android SDL2 App黑屏然后退出

c++ - 关于字节数组到 long long(64 位)数组与 long(32 位)数组的问题

c++ - 提取和排序数组中的数据?

C++ 非阻塞 ASIO 运行

c++ - 访问像素格式是否需要 SDL_LockSurface?

c++ - SDL_Delay 在 for 循环中不起作用