Hey, ich wollte ein Bild mit SDL2 in mein Programm laden. Ich bin mit Visual Studio 2015. Ich stelle das Bild in meinem Projektordner in der richtigen Stelle, aber immer noch Bild ist nicht loaded.my Code alsEin Bild konnte nicht in das SDL2-Programm geladen werden
#include <iostream>
#include <SDL_image.h>
#include <SDL.h>
using namespace std;
int main(int argc, char* argv[]) {
SDL_Init(SDL_INIT_VIDEO);
SDL_Window* window = NULL;
window = SDL_CreateWindow("Game", 100, 100, 700, 400, SDL_WINDOW_SHOWN);
if (window = NULL) {
cout << "Window creation error" << endl;
}
SDL_Renderer* renderer = NULL;
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
SDL_Texture* man = IMG_LoadTexture(renderer, "img.png");
SDL_Event* ev = new SDL_Event();
if (man == NULL) {
cout << "image cannot load" << endl;
}
SDL_Rect boy_rect;
boy_rect.x = 10;
boy_rect.y = 10;
boy_rect.h = 220;
boy_rect.w = 300;
while (ev->type != SDL_QUIT) {
SDL_PollEvent(ev);
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, man, NULL, &boy_rect);
SDL_RenderPresent(renderer);
}
SDL_DestroyTexture(man);
SDL_DestroyWindow(window);
SDL_DestroyRenderer(renderer);
return 0;
}
das Ergebnis folgt, wird „Bild kippt load“ Ich kann nicht finden jede Fehler davon, wenn Sie finden können, bitte informieren Sie mich. danke
Sind Sie sicher, dass der Renderer korrekt erstellt wurde? Wo hast du das Bild platziert? –
Ich lege das Bild, wo diese C++ Datei platziert –
@JayamalJayamaha Sie müssen das Bild, wo das kompilierte Programm ist (oder im Allgemeinen im Arbeitsverzeichnis), nicht wo die '.cpp' Datei ist. Denken Sie daran, es ist die Binärdatei, die ausgeführt wird, nicht die Quelle. – hnefatl