I am desperate - I'm sorry for this trivial question but does anyone know how can I change the code below so it loads a PNG instead of a BMP
import SDL2, SDL_IMAGE
var
win: WindowPtr
ren: RendererPtr
bmp: SurfacePtr
tex: TexturePtr
discard init(INIT_EVERYTHING)
win = createWindow("Hello World!", 100, 100, 960, 540, SDL_WINDOW_SHOWN)
if win == nil:
echo("createWindow Error: ", getError())
quit(1)
ren = createRenderer(win, -1, Renderer_Accelerated or Renderer_PresentVsync)
if ren == nil:
echo("createRenderer Error: ", getError())
quit(1)
bmp = loadBMP("image.bmp")
if bmp == nil:
echo("loadBMP Error: ", getError())
quit(1)
tex = createTextureFromSurface(ren, bmp)
if tex == nil:
echo("createTextureFromSurface Error: ", getError())
quit(1)
freeSurface(bmp)
for i in countup(1, 20):
#First clear the renderer
ren.clear
#Draw the texture
copy(ren, tex, nil, nil)
#Update the screen
ren.present
delay(1000)
destroy tex
destroy ren
destroy win
sdl2.quit()
import sdl2, sdl2/image
var
win: WindowPtr
ren: RendererPtr
texture: TexturePtr
discard sdl2.init(INIT_EVERYTHING)
win = createWindow("Hello World!", 100, 100, 960, 540, SDL_WINDOW_SHOWN)
if win == nil:
echo("createWindow Error: ", getError())
quit(1)
ren = createRenderer(win, -1, RendererAccelerated or RendererPresentVsync)
if ren == nil:
echo("createRenderer Error: ", getError())
quit(1)
texture = loadTexture(ren, "image.png")
if texture == nil:
echo("loadTexture Error: ", getError())
quit(1)
discard ren.clear()
discard ren.copy(texture, nil, nil)
ren.present()
delay(1000)
destroy(texture)
sdl2.quit()