[reportlab-users] PIL frombuffer question
Paul Guse
paul at mustagh.com
Fri Mar 9 10:54:38 EST 2007
> Paul Guse wrote:
>> Well I partially answered my own question. I can get a pixel buffer to
>> write to the canvas as an image with the following code:
>>
>> mode = 'RGB'
>> img = PIL.Image.frombuffer (mode, (100,100), b, "raw", mode, 0, 1)
>> img.fp = ""
>>
>> i = ImageReader (img)
>> c.drawImage (i, 100, 100, 100, 100)
>>
>> If I don't set img.fp I get an attribute error. This draws the image to
>> the pdf correctly.
>> Anyways, this seems like a bit of a hack, and I'm sure there's a better
>> way to do it. Also, it would be great to be able to create a platypus
>> flowable out of a pixel buffer.
>> Does anyone have any tips for doing this?
>>
>> Paul
>>
> .......
>
> We're probably assuming something about how Pil images are used in the
> ImageReader class. However, this must be a kind of strange way to do
> things. Why
> draw into a pixel buffer when you can draw directly to the pdf?
> --
I'm using python as an embedding scripting language and I don't want to
rewrite all my drawing classes to draw in python too. Trying to keep python
isolated and only expose a general interface class. So objects can draw
normally without knowing about python, but the pixel data from that draw can
be used as an image by python.
I found a way to make this work. I just made my own flowable image class.
Ripped the platypus Image class and modified it to take a pixel buffer,
create an ImageReader object, and draw that image. Seem to work well.
> Robin Becker
>
More information about the reportlab-users
mailing list