# image/rotate Rotate an `Image` or a `PixelBuffer` clockwise by 90, 180, or 270 degrees, returning a new value of the same type. Angles outside 0–359 are normalised mod 360, so `-90` means 270. ## Syntax
[image/rotate $v $deg]
## Parameters - `$v` — an `Image` or `PixelBuffer` value - `$deg` — rotation in degrees (integer multiple of 90) ## Examples
set img [image/open "test/fixtures/images/test.png"]   # 8x6
[image/dims [image/rotate $img 90]]                    # → %{ :w 6 :h 8 }
[image/dims [image/rotate $img 180]]                   # → %{ :w 8 :h 6 }
[image/rotate $img 45]
# → %Err{:message "image/rotate: degrees must be a multiple of 90"}

set buf [image/load "test/fixtures/images/test.png"]
[image/dims [image/rotate $buf 90]]                    # → %{ :w 6 :h 8 }
## Returns A new `Image`/`PixelBuffer` (90/270 swap width and height; 0/180/360 keep them). `%Err{:message}` when `$deg` is missing, non-integer, or not a multiple of 90. `nil` when `$v` is neither an `Image` nor a `PixelBuffer`. ## See Also `image/flip`, `image/flop`, `image/resize`, `image/encode`