[cl-gd-devel] Image to array of bytes

Andrei Stebakov lispercat at gmail.com
Wed May 30 16:55:24 UTC 2007


Thanks, Edi. I didn't know about send-headers. Now everything works.


On 5/30/07, Edi Weitz <edi at agharta.de> wrote:
>
> On Wed, 30 May 2007 10:42:40 -0400, "Andrei Stebakov" <lispercat at gmail.com>
> wrote:
>
> > 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.
>
> MAKE-STRING-OUTPUT-STREAM can't work because it's a /string/ stream,
> as the name says.  The FLEXI-STREAMS approach should work, though.  If
> it doesn't, show us your code.
>
> I wonder why you're doing all this, though.  Why don't you write
> directly to the Hunchentoot stream?  (You know about SEND-HEADERS,
> don't you?)
>
> Cheers,
> Edi.
> _______________________________________________
> cl-gd-devel site list
> cl-gd-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/cl-gd-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cl-gd-devel/attachments/20070530/2abf03c1/attachment.html>


More information about the Cl-gd-devel mailing list