Instead of saving an image into a file using write-image-to-file I was trying to provide a hunchentoot handler which outputs an array of bytes (just like in the hunchentoot test.lisp image-ram-page example). For this I thought write-jpeg-to-stream would be the best candidate so I did following:
(let ((s (make-string-output-stream :element-type '(unsigned-byte 8))))
(write-jpeg-to-stream s :image bg-image)
(let ((image-data (make-array (image-size bg-image) :element-type '(unsigned-byte 8))))
(read-sequence image-data s)
image-data)))))))
For which the SBCL complains:
#<SB-IMPL::STRING-OUTPUT-STREAM {CE6D171}> is not a binary output stream.
I am wondering if I am doing the right thing and choosing the right function for the task. I also tried to create a stream with flexi-stream:
make-in-memory-output-stream without any success.
Thank you,
Andrew