reportlab之Coordinates坐标修改

Coordinates

主要用于控制坐标系

def coords(canvas):
    from reportlab.lib.units import inch
    from reportlab.lib.colors import pink, black, red, blue, green
    c = canvas
    #画一个粉红色的网格线,grid后面的参数为网格线的长宽等
    c.setStrokeColor(pink)
    c.grid([inch,2*inch,3*inch,4*inch],[0.5*inch,inch,1.5*inch,2*inch,2.5*inch])
    #写一个黑的的文本
    c.setStrokeColor(black)
    c.setFont('Times-Roman',20)
    c.drawString(0,0,"(0,0) the origin")
    c.drawString(2.5*inch,inch,"(2.5,1) in inches")
    c.drawString(4*inch,2.5*inch,"(4,2.5)")
    #画一个红色的柱子
    c.setFillColor(red)
    c.rect(0,2*inch,0.2*inch,0.3*inch,fill=1)
    #画一个绿色的圆
    c.setFillColor(green)
    c.circle(4.5*inch,0.4*inch,0.2*inch,fill=1)

效果展示如下:


Coordinates.png

translate

移动原点,我理解应该是直接将pdf上所有的内容移动

def translate(canvas):
    from reportlab.lib.units import cm 
    canvas.translate(z.3*cm,0.3*cm)
    coords(canvas)
translate.png

压缩和拉长Shrinking and growing

def scale(canvas):
    canvas.scale(0.75,0.5)
    coords(canvas)
Shrinking and growing.png

镜像Mirror

def mirror(canvas):
    from reportlab.lib.units import inch
    canvas.translate(5.5*inch,0)
    canvas.scale(-1.0,1.0)
    coords(canvas)
mirror.png

你可能感兴趣的:(reportlab之Coordinates坐标修改)