1. 程式人生 > >3.2.1Python之ReportLab繪圖

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()

執行結果:

這裡寫圖片描述