划线
canvas.line(x1,y1,x2,y2)
canvas.line(linelist)
画图形
canvas.grid(xlist,ylist)
canvas.bezier(x1,y1,x2,y2)
canves.arc(x1,y1,x2,y2)
canves.rect(x,y,width,height,stroke=1,fill=0)
canves.ellipase(x1,y1,stroke=1,fill=0)
conves.wedge(x1,y1,startAng,extent,stroke=1,fill=0)
canvas.circle(x_cen,y_cen,r,stroke=1,fill=0)
canvas.roundRect(x,y,width,height,radius,stroke=1,fill=0)
写文本
canvas.drawString(x,y,text)
canvas.drawRightString(x,y,text)
canvas.drawCentredString(x,y,text)
路径
path = canvas.beginpath()
canvas.drawpath(path,stroke=1,fill=0,fillMode=None)
canvas.clipPath(path,stroke=1,fill=0,fillMode=None)
在实际使用中使用beginpath要比drawPath有时候要多一些
图像
画图有两种方法drawInlineImage 和drawImage 前者是比较古老的方法
canvas.drawInlineImage(self,image,x,y,width=None,height=None)
canvas.drawImage(self,image,x,y,width==None,height=None,mask=None)
颜色设置
canvas.setFillColorCMYK(c,m,y,k)
canvas.setStrikeColorCMYK(c,m,y,k)
canvas.setFillColorRGB(r,g,b)
canvas.setStrokeColorRGB(r,g,b)
canvas.setFillColor(acolor)
canvas.setStrokeColor(acolor)
canvas.setFillGray(gray)
canvas.setStrokeGray(gray)
字体
canvas.setFont(psfontname,size,leading=None)
图形线条
canvas.setLineWidth(width)
canvas.setLineCap(mode)
canvas.setLineJoin(mode)
canvas.setMiterLimit(limit)
canvas.setDash(self,array=[],phase=0)
修改坐标
canvas.setPageSize(pair)
canvas.transForm(a,b,c,d,e,f)
canvas.translate(dx,dy)
canvas.scale(x,y)
canvas.rotate(theta)
canvas.skew(alpha,beta)
保存版本
可用于保存现在的字体、图像、文字格式等
canvas.saveState()
canvas.restoreState()