Python: reportlab,如何去除图像的黑边
我正在尝试使用Python的reportlab库生成一个PDF文件,但发现图片在PDF中显示时有奇怪的黑边。
这是我的代码:
# Standalone script to generate pdf lessons
from reportlab.pdfgen import canvas
def hello(c):
c.drawImage("./media/files/1.png", 0, 600, 350, 350)
c = canvas.Canvas("hello.pdf")
hello(c)
c.showPage()
c.save()
我想添加的图片在这里
有人能告诉我为什么左边会出现黑线吗?还有怎么解决这个问题?
1 个回答
3
问题不在于边框,而是你的棋盘在右边和底部有透明的像素。reportlab没有识别出透明通道,把透明的部分涂成了黑色:
使用 mask='auto'
可以告诉drawImage使用你PNG图片中的透明通道,这样背景就能透过棋盘显示出来:
c.drawImage("./media/files/1.png", 0, 600, 350, 350, mask='auto')