python3 reportlab drawImage 居中高
python3 reportlab drawImage High to center
c = canvas.Canvas('data.pdf', pagesize= [width*inch,height*inch])
c.drawImage('dataptah',x,y, width,height)
c.save()
我无法将图片高度居中,
所以我需要知道 x 和 y 单位,
或者放点东西。
首先,您可以在 drawImage
调用中为 x、y、宽度和高度值使用单位,就像您对 pagesize
所做的那样。因此,如果您知道图像的宽高比,则可以计算这些值以获得准确的居中位置。
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'
)
c = canvas.Canvas('data.pdf', pagesize= [width*inch,height*inch])
c.drawImage('dataptah',x,y, width,height)
c.save()
我无法将图片高度居中, 所以我需要知道 x 和 y 单位, 或者放点东西。
首先,您可以在 drawImage
调用中为 x、y、宽度和高度值使用单位,就像您对 pagesize
所做的那样。因此,如果您知道图像的宽高比,则可以计算这些值以获得准确的居中位置。
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'
)