# image/load
Load an image file into a CPU-only RGBA pixel buffer. Thread-safe — no GL,
safe from any thread including per-panel app threads. Unlike `image/open`
(which returns an `Image` for the encode/transform pipeline), `image/load`
returns a `PixelBuffer` whose pixel pointer is stable for its lifetime —
the video-frame/GL-upload shape.
## Syntax
[image/load $path]
## Parameters
- `$path` — string path to the image file (PNG, JPEG, WebP via the vendored codecs)
## Examples
set buf [image/load "assets/photo.png"] [image/dims $buf] # → %{ :w N :h N } [draw/image $ctx 0 0 64 48 $buf] # draw accepts PixelBuffer directly
## Returns
A `PixelBuffer` native resource on success, or `nil` on failure. The buffer
is garbage-collected — call `image/free` to release it immediately. Pass the
handle to `image/dims`, `image/rotate`, `image/flip`, `image/flop`,
`image/resize`, `image/crop`, `image/pixel-write`, or `draw/image`.
## See Also
`image/open`, `image/pixel-buffer`, `image/pixel-write`, `image/free`,
`image/dims`, `draw/image`