[reportlab-users] bug with image transparency?!
    Robin Becker 
    robin at reportlab.com
       
    Tue Oct 21 05:29:06 EDT 2008
    
    
  
Tim Roberts wrote:
> Volker Haas wrote:
>> I guess I just ran into an image which is not rendered correctly using
>> reportlab (version 2.1).
>> All black pixels are rendered white (or transparent on a white
>> background).
>> The image displays correctly in a browser or image viewer.
>> ...
>> from reportlab.platypus import BaseDocTemplate, PageTemplate, Frame,
>> Image
>> from reportlab.rl_config import defaultPageSize
>>
>> doc = BaseDocTemplate("test.pdf")
>>
>> frame = Frame(0,0,defaultPageSize[0], defaultPageSize[1])
>> doc.addPageTemplates(PageTemplate(frames=frame))
>>
>> Story = [Image("MergeSampleStep1.png")]
>> doc.build(Story)
> 
> Very interesting; I think there is some confusion in the code between
> Platypus and canvas about what the "mask" parameter means.  In the short
> term, you can work around this by saying:
> 
>     Story = [Image("MergeSampleStep1.png", mask=None)]
> 
> At least, that fixed your sample for me.
> 
At present we're not dealing with mode 'P' correctly. We're able to deal with 
RGBA CMYK L and RGB. Currently stuff that is in mode P will be converted to RGB.
My reading of the PIL manual suggests that mode P is a palette format with the 
actual colour space any of the others. It seems that conversions to L RGB and 
CMYK are supported without loss and that the way to convert is to omit the 
outcome mode argument. I assume that we would then need to carry the transparent 
colour along as a singleton as in with a mask colour. Can you send me a small 
sample image?
-- 
Robin Becker
    
    
More information about the reportlab-users
mailing list