【问题标题】:python3 reportlab drawImage High to centerpython3 reportlab drawImage 高居中
【发布时间】:2018-11-07 16:08:16
【问题描述】:
c = canvas.Canvas('data.pdf', pagesize= [width*inch,height*inch])
c.drawImage('dataptah',x,y, width,height)
c.save()

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

【问题讨论】:

    标签: python-3.x reportlab drawimage


    【解决方案1】:

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

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

    • preserveAspectRation=True 保持图像的纵横比,即使用 x、y、width、height 指定的框具有不同的纵横比。
    • anchor='c' 指定图像的锚点位置,在本例中为中心。

    因此,如果您添加这两个参数并将框在页面上居中,那么您的图像也应该居中。这是一个例子:

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

    【讨论】:

      猜你喜欢
      • 2021-03-09
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 2017-09-24
      • 2021-08-06
      相关资源
      最近更新 更多