首页 > 解决方案 > cpp 尝试加载图像但没有响应的错误

问题描述

我正在尝试在我的窗口上加载图像,当我在 Visual Studio 代码中运行代码时...弹出窗口并且它只是一个空白屏幕...直到我按下角落上的退出按钮。我的图像显示一秒钟然后窗口关闭....如果您有任何想法或意见,请告诉我,谢谢!代码如下所示。

<SDL.h>
#include <iostream>

int main(int argc, char* argv[])

    {
        SDL_Window* window = nullptr;
        SDL_Surface* WindowSurface = nullptr;
        SDL_Surface* image1 = nullptr;
        SDL_Surface* image2 = nullptr;
        SDL_Surface* currentImage = nullptr;
        SDL_Init(SDL_INIT_VIDEO);
        window = SDL_CreateWindow("sdl Window", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);
        WindowSurface = SDL_GetWindowSurface(window);
        image1 = SDL_LoadBMP("Red_sheet_full_2.bmp");
        image2 = SDL_LoadBMP("Red_sheet_fullA.bmp");
        currentImage = image1;
        bool isRunning = true;
        SDL_Event ev;
        while (isRunning)
        {
            while (SDL_PollEvent(&ev) != 0);
            {
                if (ev.type == SDL_QUIT)
                    isRunning = false;
                else if (ev.type == SDL_KEYDOWN)
                {
                    switch (ev.key.keysym.sym)
                    case SDLK_1:
                        currentImage = image1;
                        break;
                    switch (ev.key.keysym.sym)
                    case SDLK_1:
                        currentImage = image1;
                        break;

                }
            }
            
        }
        SDL_BlitSurface(currentImage, NULL, WindowSurface, NULL);

        SDL_UpdateWindowSurface(window);
        SDL_FreeSurface(image1);
        SDL_FreeSurface(image2);
        SDL_DestroyWindow(window);
        currentImage = image1 = image2 = nullptr;
        
        
        SDL_Quit();

    
        return 0;
}

标签: c++

解决方案


推荐阅读