<div dir="ltr"><span style="color:rgb(32,32,32);font-family:'Source Sans Pro',sans-serif;font-size:15px;line-height:24px">Hello i use this function to  take a shapefile, label it based on the specified attribute name, and render an image. but i get a white image.</span><div><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">i use Qgis 2.12 .</span></font></div><div><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font><br><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">def quick_export(self):   </span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    file = QgsVectorLayer("path to shapefile", "BMAS", "ogr")</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    QgsMapLayerRegistry.instance().addMapLayer(file)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">#Adjust layer Settings</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">#Code sample from <a href="http://gis.stackexchange.com/questions/77870/how-to-label-vector-features-programmatically">http://gis.stackexchange.com/questions/77870/how-to-label-vector-features-programmatically</a></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    palyr = QgsPalLayerSettings() </span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    palyr.enabled = True </span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    palyr.fieldName = 'Sum_emplpa' </span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    palyr.placement= QgsPalLayerSettings.OverPoint </span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    palyr.setDataDefinedProperty(QgsPalLayerSettings.Size,True,True,'8','') </span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    palyr.writeToLayer(file)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    if file.isValid():</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">     print "File is valid."</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    mapRenderer = QgsMapRenderer()</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    rect = file.extent()</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    mapRenderer.setExtent(rect)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    mapRenderer.setLabelingEngine(QgsPalLabeling())</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    lst = [<a href="http://file.id">file.id</a>()]</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    mapRenderer.setLayerSet(lst)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    mapRenderer.setLayerSet( lst )</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    c = QgsComposition(mapRenderer)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    c.setPlotStyle(QgsComposition.Print)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    x, y = 0, 0</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    w, h = c.paperWidth(), c.paperHeight()</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    composerMap = QgsComposerMap(c, x,y,w,h)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    c.addItem(composerMap)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    composerLabel = QgsComposerLabel(c)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    composerLabel.adjustSizeToText()</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    c.addItem(composerLabel)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    composerLabel.setItemPosition(20,10)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    composerLabel.setItemPosition(20,10, 100, 30)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    legend = QgsComposerLegend(c)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    legend.model().setLayerSet(mapRenderer.layerSet())</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    c.addItem(legend)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">#set image sizing</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    dpi = c.printResolution()</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    dpmm = dpi / 25.4</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    width = int(dpmm * c.paperWidth())</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    height = int(dpmm * c.paperHeight())</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    img = QImage(QSize(width, height), QImage.Format_ARGB32)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    img.setDotsPerMeterX(dpmm * 1000)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    img.setDotsPerMeterY(dpmm * 1000)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    img.fill(0)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    imagePainter = QPainter(img)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    sourceArea = QRectF(0, 0, c.paperWidth(), c.paperHeight())</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    targetArea = QRectF(0, 0, width, height)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px"><br></span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">#renders image</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    c.render(imagePainter, targetArea, sourceArea)</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    imagePainter.end()</span></font></div><div style=""><font color="#202020" face="Source Sans Pro, sans-serif"><span style="font-size:15px;line-height:24px">    img.save("path to save the image", "png")</span></font></div></div></div>