from FPDF.Gradients import * pdf=Gradients() #first page pdf.AddPage() pdf.SetFont('Arial','',14) pdf.Cell(0,5,'Page 1',0,1,'C') pdf.Ln() #set colors for gradients (r,g,b) or (grey 0-255) red=[255,0,0] blue=[0,0,200] yellow=[255,255,0] green=[0,255,0] white=[255] black=[0] #set the coordinates x1,y1,x2,y2 of the gradient (see linear_gradient_coords.jpg) coords=[0.0,0.0,1.0,0.0] #paint a linear gradient pdf.LinearGradient(20,25,80,80,red,blue,coords) #set the coordinates fx,fy,cx,cy,r of the gradient (see radial_gradient_coords.jpg) coords=[0.5,0.5,1.0,1.0,1.2] #paint a radial gradient pdf.RadialGradient(110,25,80,80,white,black,coords) #paint a coons patch mesh with default coordinates pdf.CoonsPatchMesh(20,115,80,80,yellow, blue, green, red) #set the coordinates for the cubic Bézier points x1,y1 ... x12, y12 of the patch (see coons_patch_mesh_coords.jpg) coords=[0.00,0.00, 0.33,0.20, #lower left 0.67,0.00, 1.00,0.00, 0.80,0.33, #lower right 0.80,0.67, 1.00,1.00, 0.67,0.80, #upper right 0.33,1.00, 0.00,1.00, 0.20,0.67, #upper left 0.00,0.33] #lower left coords_min=0.0 #minimum value of the coordinates coords_max=1.0 #maximum value of the coordinates #paint a coons patch gradient with the above coordinates pdf.CoonsPatchMesh(110,115,80,80,yellow,blue,green,red,coords,coords_min,coords_max) #second page pdf.AddPage() pdf.Cell(0,5,'Page 2',0,1,'C') pdf.Ln() #first patch: f = 0 patch_array={0:{},1:{},2:{},3:{}} patch_array[0]['f']=0 patch_array[0]['points']=[0.00,0.00, 0.33,0.00, 0.67,0.00, 1.00,0.00, 1.00,0.33, 0.8,0.67, 1.00,1.00, 0.67,0.8, 0.33,1.80, 0.00,1.00, 0.00,0.67, 0.00,0.33] patch_array[0]['colors']={} patch_array[0]['colors'][0]={'r':255.0,'g':255.0,'b':0.0} patch_array[0]['colors'][1]={'r':0.0,'g':0.0,'b':255.0} patch_array[0]['colors'][2]={'r':0.0,'g':255.0,'b':0.0} patch_array[0]['colors'][3]={'r':255.0,'g':0.0,'b':0.0} #second patch - above the other: f = 2 patch_array[1]['f']=2 patch_array[1]['points']=[0.00,1.33, 0.00,1.67, 0.00,2.00, 0.33,2.00, 0.67,2.00, 1.00,2.00, 1.00,1.67, 1.5,1.33] patch_array[1]['colors']={} patch_array[1]['colors'][0]={'r':0.0,'g':0.0,'b':0.0} patch_array[1]['colors'][1]={'r':255.0,'g':0.0,'b':255.0} #third patch - right of the above: f = 3 patch_array[2]['f']=3 patch_array[2]['points']=[1.33,0.80, 1.67,1.50, 2.00,1.00, 2.00,1.33, 2.00,1.67, 2.00,2.00, 1.67,2.00, 1.33,2.00] patch_array[2]['colors']={} patch_array[2]['colors'][0]={'r':0.0,'g':255.0,'b':255.0} patch_array[2]['colors'][1]={'r':0.0,'g':0.0,'b':0.0} #fourth patch - below the above, which means left(?) of the above: f = 1 patch_array[3]['f']=1 patch_array[3]['points']=[2.00,0.67, 2.00,0.33, 2.00,0.00, 1.67,0.00, 1.33,0.00, 1.00,0.00, 1.00,0.33, 0.8,0.67] patch_array[3]['colors']={} patch_array[3]['colors'][0]={'r':0.0,'g':0.0,'b':0.0} patch_array[3]['colors'][1]={'r':0.0,'g':0.0,'b':255.0} coords_min=0 coords_max=2 pdf.CoonsPatchMesh(10,25,190,200,'','','','',patch_array,coords_min,coords_max) pdf.Output('gradients.pdf','F')