Skip to content

Instantly share code, notes, and snippets.

@jkrumbiegel
Created June 5, 2025 07:42
Show Gist options
  • Save jkrumbiegel/735367b82d0f655949faf651bf84ede8 to your computer and use it in GitHub Desktop.
Save jkrumbiegel/735367b82d0f655949faf651bf84ede8 to your computer and use it in GitHub Desktop.
CairoMakie draw into buffer
using CairoMakie
using CairoMakie.Colors
sz = (400, 300)
px_per_unit = 2
img = fill(ARGB32(1, 0, 0, 1), ((sz .* px_per_unit) .+ (200, 0))...)
surf = CairoMakie.Cairo.CairoImageSurface(img)
f = Figure(size = sz)
scatter(f[1, 1], cumsum(randn(100)))
conf = Makie.merge_screen_config(CairoMakie.ScreenConfig, Dict(:px_per_unit => px_per_unit))
scr = CairoMakie.Screen(f.scene, conf, surf)
CairoMakie.cairo_draw(scr, f.scene)
save("test.png", img')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment