[reportlab-users] Loading transparent GIFs with shapes.Image
Marcel Tromp
mtromp.docbook at gmail.com
Wed Nov 18 18:04:52 EST 2009
Target is pdf. However, I have not been using canvas in my scripts. So far I
have been grouping shapes (including images) in groups, which ultimately get
added to a Drawing, which get rendered to a pdf.
In this method, transparency does not work.
What is the benefit to use canvas instead beyond the image rendering?
MT
--
On Thu, Nov 12, 2009 at 4:58 AM, Robin Becker <robin at reportlab.com> wrote:
> Marcel Tromp wrote:
>
>> Anyone? Is there anyway to have overlapping bitmap images that use
>> transparency to show the lower/earlier image?
>>
>> I don't believe that shapes.Image supports any notion of transparency. Al
> of the reportlab graphs renderers depend explicitly on properties of the
> different back ends so it's fairly hard to support some of the more advanced
> concepts like overPrint and transparency.
>
> You don't say which back end is being used. If you want to put images onto
> a PDF document then the pdfgen canvas already supports bitmaps with RGBA and
> a transparent colour.
>
> If you're talking about the PM renderer then that's not done. The code is
> in renderPM.py
>
>> def drawImage(self, image):
>> if image.path and os.path.exists(image.path):
>> if type(image.path) is type(''):
>> im =
>> _getImage().open(image.path).convert('RGB')
>> else:
>> im = image.path.convert('RGB')
>> srcW, srcH = im.size
>> dstW, dstH = image.width, image.height
>> if dstW is None: dstW = srcW
>> if dstH is None: dstH = srcH
>> self._canvas._aapixbuf(
>> image.x, image.y, dstW, dstH,
>> im.tostring(), srcW, srcH, 3,
>> )
>>
>
>
> so we would need to modify this.
>
> Effectively im is a PIL image and we mash it directly onto our internal RGB
> buffer using libart's function art_rgb_pixbuf_affine.
>
> Libart does have a function art_rgb_rgba_affine which could be used to mash
> an RGBA style image onto the RGB canvas. That would allow RGB + transparent
> colour or RGBA style sources to be used for the incoming image. Of course
> then we'd need to start looking at the Image processing for the other
> graphics renderers.
> --
> Robin Becker
> _______________________________________________
> reportlab-users mailing list
> reportlab-users at lists2.reportlab.com
> http://two.pairlist.net/mailman/listinfo/reportlab-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://two.pairlist.net/pipermail/reportlab-users/attachments/20091118/63c65df4/attachment.htm>
More information about the reportlab-users
mailing list