SDL2 图像加载 windows 10
SDL2 image load in windows 10
#include <SDL.h>
#include <SDL_image.h>
#include <SDL_mixer.h>
#include <iostream>
int main(int argc, char* args[])
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Window *window;
window = SDL_CreateWindow("Titlu",
100,
100,
600,
400,
SDL_WINDOW_RESIZABLE
);
SDL_Renderer* renderer = nullptr;
SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
int p = 0;
SDL_Event* mainEvent = new SDL_Event();
SDL_Texture* grass_image = nullptr;
grass_image = IMG_LoadTexture(renderer,"grass.bmp");
if (grass_image == NULL)
std::cout << "FAILED";
SDL_Rect grass_rect;
grass_rect.x = 10;
grass_rect.y = 50;
grass_rect.w = 250;
grass_rect.h = 250;
while (!p && mainEvent->type != SDL_QUIT)
{
SDL_PollEvent(mainEvent);
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer,grass_image,NULL,&grass_rect);
SDL_RenderPresent(renderer);
}
SDL_DestroyWindow(window);
SDL_DestroyRenderer(renderer);
delete mainEvent;
return 0;
}
grass_image = IMG_LoadTexture(渲染器,"grass.bmp");不起作用,并且 returns NULL 图片的路径很好。
请告诉我我是否做错了什么,或者是否可以修复与我的 windows 10 或 visual studio 2015 更新 3 不兼容的问题
请注意,当我 运行 它时,我的 window 是白色而不是黑色。
您的 renderer
为 NULL。像这样初始化它:
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
#include <SDL.h>
#include <SDL_image.h>
#include <SDL_mixer.h>
#include <iostream>
int main(int argc, char* args[])
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Window *window;
window = SDL_CreateWindow("Titlu",
100,
100,
600,
400,
SDL_WINDOW_RESIZABLE
);
SDL_Renderer* renderer = nullptr;
SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
int p = 0;
SDL_Event* mainEvent = new SDL_Event();
SDL_Texture* grass_image = nullptr;
grass_image = IMG_LoadTexture(renderer,"grass.bmp");
if (grass_image == NULL)
std::cout << "FAILED";
SDL_Rect grass_rect;
grass_rect.x = 10;
grass_rect.y = 50;
grass_rect.w = 250;
grass_rect.h = 250;
while (!p && mainEvent->type != SDL_QUIT)
{
SDL_PollEvent(mainEvent);
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer,grass_image,NULL,&grass_rect);
SDL_RenderPresent(renderer);
}
SDL_DestroyWindow(window);
SDL_DestroyRenderer(renderer);
delete mainEvent;
return 0;
}
grass_image = IMG_LoadTexture(渲染器,"grass.bmp");不起作用,并且 returns NULL 图片的路径很好。
请告诉我我是否做错了什么,或者是否可以修复与我的 windows 10 或 visual studio 2015 更新 3 不兼容的问题 请注意,当我 运行 它时,我的 window 是白色而不是黑色。
您的 renderer
为 NULL。像这样初始化它:
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);