Python之ReportLab绘图

来源:互联网 发布:思科通过mac地址查询ip 编辑:程序博客网 时间:2024/06/05 21:59

绘制矢量图

先设置setStrokeColorRGB和setFillColorRGB,再进行绘制。

#引入所需要的基本包from reportlab.pdfgen import canvasfrom reportlab.lib.units import inch#设置绘画开始的位置def hello(c):    #设置描边色    c.setStrokeColorRGB(0, 0, 1.0)    #设置填充色    c.setFillColorRGB(1,0,1)    # draw some lines    c.line(0.1*inch, 0.1*inch, 0.1*inch, 1.7*inch)    c.line(0.1*inch, 0.1*inch, 1*inch, 0.1*inch)    # draw a rectangle    c.rect(0.2*inch, 0.2*inch, 1*inch, 1.5*inch, fill=1)#定义要生成的pdf的名称c=canvas.Canvas("hello.pdf")#调用函数进行绘画,并将canvas对象作为参数传递hello(c)#showPage函数:保存当前页的canvasc.showPage()#save函数:保存文件并关闭canvasc.save()

运行结果:

这里写图片描述

   canvas有很多绘制接口,绘制线、矩形、椭圆、样条曲线等,具体查阅使用手册。混合使用,可以绘制出复杂的矢量图,下图是使用手册中的例子:
  
这里写图片描述

绘制位图

#引入所需要的基本包from reportlab.pdfgen import canvasfrom reportlab.lib.units import mmdef drawBitmap(c):    c.drawImage("image.jpg", 5*mm, 5*mm, 62*mm, 88.6*mm)#定义要生成的pdf的名称c=canvas.Canvas("image.pdf")#调用函数生成条形码和二维码,并将canvas对象作为参数传递drawBitmap(c)#showPage函数:保存当前页的canvasc.showPage()#save函数:保存文件并关闭canvasc.save()

运行结果:

这里写图片描述

原创粉丝点击