使用reportlab 2.3在PNG中实现透明度

Dir*_*aur 23 python reportlab python-imaging-library

我有两个PNG,我试图在Python 2.5上使用ReportLab 2.3将其组合成PDF.当我使用canvas.drawImage(ImageReader)将PNG写入画布并保存时,透明度变为黑色.如果我使用PIL(1.1.6)生成一个新的图像,然后将(或)PNG粘贴到PIL图像上,它就可以很好地合成.我在Gimp中进行了双重检查,两张图像都有正常的Alpha通道并正确保存.我没有收到错误,似乎没有任何东西我的google-fu可以出现.

有没有人在ReportLab画布上合成一个透明的PNG,透明度是否正常工作?谢谢!

小智 54

传递mask参数的值为'auto'以便drawImage为我修复此问题.

drawImage(......., mask='auto')
Run Code Online (Sandbox Code Playgroud)

有关drawImage函数的更多信息

  • 使用Sphinx生成的在线文档是非常糟糕的文档.相反,我发现更有用的用户指南pdf http://www.reportlab.com/docs/reportlab-userguide.pdf有关此特定问题,请参阅第2章"使用pdfgen的图形和文本"中的"图像方法"部分.他们解释了mask param关键字. (2认同)