Refresh image
Generate a new image and refresh it in the browser every time a button is pressed.
using FileIO, ImageIO, Colors
using GenieFramework
@genietools
const IMGPATH = "public/demo.png"
const BASEURL = "/demo.png"
@app begin
@in refresh = false
@out img = rand(RGB, 100, 100)
@out imageurl = "/demo.png"
@onchange refresh begin
img = rand(RGB, 100, 100)
# add an (invalid) anchor to the imagepath in order to trigger a reload in the Quasar/Vue backend
save(IMGPATH, img)
imageurl = "$BASEURL#$(Base.time())"
end
end
function ui()
[button("Refresh", @click("refresh = !refresh"))
imageview(src=:imageurl, spinnercolor="white", style="height: 140px; max-width: 150px")]
end
@page("/", ui)
Server.up()