3.2.1Python之ReportLab繪圖
阿新 • • 發佈:2019-01-09
繪製向量圖
先設定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()
執行結果: