python: reportlab, как удалить черные рамки с изображения

Я пытаюсь создать PDF-файл, используя python reportlab, но кажется, что изображение отображается со странной черной рамкой в ​​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 ответ

Решение

Проблема не с рамкой, скорее у вашей шахматной доски есть прозрачные пиксели справа и снизу, а reportlab не распознает альфа-канал и окрашивает прозрачную часть в черный:

С помощью mask='auto' говорит drawImage использовать альфа-канал в вашем PNG, поэтому фон просвечивает:

c.drawImage("./media/files/1.png", 0, 600, 350, 350, mask='auto')
Другие вопросы по тегам