(defun test-animation (file) (let* ((canvas (box 0 0 256 256)) (ds (make-data-stream :width (vectometry:width canvas) :height (vectometry:height canvas) :loopingp t))) (with-box-canvas canvas (loop for divisor downfrom 100 repeat 94 do (set-fill-color *white*) (clear-canvas) (set-line-cap :round) (set-line-width 5) (loop for hue from 0 below 360 by 30 for angle from 0.0 by (/ pi divisor) do (set-stroke-color (hsv-color hue 1 1)) (move-to (centerpoint canvas)) (line-to (add (centerpoint canvas) (apoint angle 128))) (stroke)) (add-image (vimage-gif-image) ds))) (output-data-stream ds file)))