python3 reportlab drawImage高居中

时间:2018-11-06 02:17:55

标签: python-3.x reportlab drawimage

c = canvas.Canvas('data.pdf', pagesize= [width*inch,height*inch])
c.drawImage('dataptah',x,y, width,height)
c.save()

我无法将图片居中放置, 所以我需要知道x和y单位 或放东西。

1 个答案:

答案 0 :(得分:0)

首先,可以像在drawImage中一样,在pagesize调用中为x,y,宽度和高度值使用单位。因此,如果您知道图像的长宽比,则可以为准确的居中位置计算这些值。

reference documentation提到了另外两个参数,可能会有所帮助:

  • preserveAspectRation=True保持图像的长宽比,即使x,y,宽度,高度指定的框的长宽比不同。
  • anchor='c'指定图像的锚点位置,在这种情况下为中心。

因此,如果添加这两个参数并将框在页面上居中,则图像也应居中显示。这是一个示例:

c.drawImage('dataptah', 
     width/4*inch, height/4*inch,
     width/2*inch, height/2*inch,
     preserveAspectRatio=True, anchor='c'
)