如何从资源文件(.rc文件)加载位图?

时间:2017-08-04 10:44:50

标签: c++ visual-studio sdl-2

我在visual studio编写一个简单的游戏,我已经设置了一个资源文件(.rc文件)我也在使用sdl2。我想知道是否有一种方法来加载或绘制位于资源文件中的位图。提前致谢

我目前正在使用此行:

HBITMAP hBtMpIMG = LoadBitmap((HINSTANCE)getModuleHandle(_T("Project 1.exe")), MAKEINTRESOURCE(IDB_BITMAP1));

如何使用sdl2渲染hBtMpIMG?

1 个答案:

答案 0 :(得分:2)

您可以使用API​​:LoadBitmap加载存储在可执行文件中的位图:

    case WM_CREATE:
    {
        HBITMAP hBtMpBall = LoadBitmap((HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE), MAKEINTRESOURCE(IDB_BALL)); //Here we have to use the executable module to load our bitmap resource
        //this means that this resource "ball.bmp" is compiled and stored in the executable module"
        //however if you use loadimage you can ignore this module and makeit null because you are laoding from file

        if(!hBtMpBall)
            MessageBox(0,"ball.bmp not found!",0,0);
    }
    break;
  • 在资源文件中:.rc您可能会喜欢这样:

    #include "myres.h"
    
    IDB_BALL BITMAP DISCARDABLE "ball.bmp"