3.2.1Python之ReportLab绘图

绘制矢量图

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

#引入所需要的基本包
from reportlab.pdfgen import canvas
from 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函数:保存当前页的canvas
c.showPage()
#save函数:保存文件并关闭canvas
c.save()

运行结果:

这里写图片描述

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

绘制位图

#引入所需要的基本包
from reportlab.pdfgen import canvas
from reportlab.lib.units import mm

def 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函数:保存当前页的canvas
c.showPage()
#save函数:保存文件并关闭canvas
c.save()

运行结果:
这里写图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值