SDL2 képmegjelenítés

SDL2 képmegjelenítés
2021-11-10T19:04:14+01:00
2021-11-11T15:05:54+01:00
2022-07-18T22:50:30+02:00
Silwex
Sziasztok!
Egy képet szeretnék megjeleníteni ablakban. A kód elvileg szintaktikailag helyes, az ablak megnyílik, de a kép nem jeleik meg. Próbálkoztam ezzel is "/Mappa_nev/kep.bmp", de nem jelenik meg.
Előre is köszönöm a segítséget.
Itt a kód:
#include <stdio.h>
#include <stdlib.h>
#include <SDL.h>
#include <stdbool.h>
const int sze = 640;
const int ma = 480;
bool init(SDL_Window *ablak, SDL_Surface *kepernyo_felulet, SDL_Surface *kep)
{
    if(SDL_Init(SDL_INIT_VIDEO) < 0)
    {
        printf("HIBA A LETREHOZASBAN");
        return false;
    }
    else
    {
        ablak = SDL_CreateWindow("Minesweeper", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, sze, ma, SDL_WINDOW_SHOWN);
        if (ablak == NULL)
        {
            return false;
        }
        else
        {
            kepernyo_felulet = SDL_GetWindowSurface(ablak);
            return true;
        }
    }
}
bool betoltes(SDL_Surface *kep)
{
    kep = SDL_LoadBMP("mineswee.bmp");
    if(kep == NULL)
        return false;
    return true;
}
int main( int argc, char *args[] )
{
    SDL_Window* ablak = NULL;
    SDL_Surface* kepernyo_felulet = NULL;
    SDL_Surface* kep = NULL;

    if(!init(ablak, kepernyo_felulet, kep))
        printf("HIBA AZ ABLAK MEGNYITASABAN");
    else
    {
        if(!betoltes(kep))
            printf("HIBA A KEP BETOLTESEBEN");
        else
        {
            SDL_BlitSurface(kep, NULL, kepernyo_felulet, NULL);
            SDL_UpdateWindowSurface(ablak);
            SDL_Delay(20000);
        }
    }
    SDL_FreeSurface(kep);
    SDL_DestroyWindow(ablak);
    SDL_Quit();
    return 0;
}
Mutasd a teljes hozzászólást!
Szia,


Vizsgáld meg kérlek:
- a main részben a kep pointer értékét a betoltes függvényből való visszatérés után és
- a betoltes függvényben a betöltés után a kep pointer értékét még a visszatérés rész előtt.

Próbáld ki a kódot úgy, hogy az int() és a betoltes() tartalmát a main() függvénybe teszed.
Mutasd a teljes hozzászólást!

abcd