# image/pixel-buffer
Create a zero-initialized RGBA pixel buffer whose pixel pointer stays stable
for its lifetime — write new frames with `image/pixel-write` and
`draw/image :refresh` reuses one GL texture (no per-frame texture
allocation). CPU-only and thread-safe. Available in every native host,
including the standalone scripting binary.
## Syntax
[image/pixel-buffer width height]
## Parameters
- `width` — pixels, 1–16384
- `height` — pixels, 1–16384
## Examples
def buf [image/pixel-buffer 320 240] [image/pixel-write $buf $frame-bytes] [draw/image $ctx 0 0 $w $h $buf %{ :refresh true }]
## Returns
`PixelBuffer` native resource, or `nil` when a dimension is outside 1–16384
or allocation fails. Garbage-collected; `image/free` releases it immediately.
## See Also
`image/pixel-write`, `image/load`, `image/dims`, `image/free`, `draw/image`