<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>I been trying to render a map with a 3 vector layers and one raster 
layer. The idea is that the raster layer should be on top of the other 3
 vector layers. The problem is that even when I add the transparency 
parameters to the Raster Layer I can't visualize the vector layers. In 
other words, the Raster Layer completely covers the area.<br><br><pre style="" class="default prettyprint prettyprinted"><code><span class="com">#!/usr/bin/python</span><span class="pln">
</span><span class="com"># -*- coding: utf-8 -*-</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> qgis</span><span class="pun">.</span><span class="pln">core </span><span class="kwd">import</span><span class="pln"> </span><span class="pun">*</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> qgis</span><span class="pun">.</span><span class="pln">gui </span><span class="kwd">import</span><span class="pln"> </span><span class="pun">*</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> qgis</span><span class="pun">.</span><span class="pln">utils </span><span class="kwd">import</span><span class="pln"> </span><span class="pun">*</span><span class="pln">

</span><span class="kwd">from</span><span class="pln"> </span><span class="typ">PyQt4</span><span class="pun">.</span><span class="typ">QtCore</span><span class="pln"> </span><span class="kwd">import</span><span class="pln"> </span><span class="pun">*</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> </span><span class="typ">PyQt4</span><span class="pun">.</span><span class="typ">QtGui</span><span class="pln"> </span><span class="kwd">import</span><span class="pln"> </span><span class="pun">*</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> </span><span class="typ">PyQt4</span><span class="pun">.</span><span class="typ">QtCore</span><span class="pln"> </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">QFileInfo</span><span class="pun">,</span><span class="pln"> </span><span class="typ">QSettings</span><span class="pln">


</span><span class="typ">QgsApplication</span><span class="pun">.</span><span class="pln">setPrefixPath</span><span class="pun">(</span><span class="str">"/usr"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">True</span><span class="pun">)</span><span class="pln">

</span><span class="typ">QgsApplication</span><span class="pun">.</span><span class="pln">initQgis</span><span class="pun">()</span><span class="pln">

</span><span class="com"># raster layer</span><span class="pln">
filename </span><span class="pun">=</span><span class="pln"> </span><span class="str">"points.png"</span><span class="pln">
file_info </span><span class="pun">=</span><span class="pln"> </span><span class="typ">QFileInfo</span><span class="pun">(</span><span class="pln">filename</span><span class="pun">)</span><span class="pln">
base_name </span><span class="pun">=</span><span class="pln"> file_info</span><span class="pun">.</span><span class="pln">baseName</span><span class="pun">()</span><span class="pln">

l_raster </span><span class="pun">=</span><span class="pln"> </span><span class="typ">QgsRasterLayer</span><span class="pun">(</span><span class="pln">filename</span><span class="pun">,</span><span class="pln"> base_name</span><span class="pun">)</span><span class="pln">
l_raster</span><span class="pun">.</span><span class="pln">setCrs</span><span class="pun">(</span><span class="pln"> </span><span class="typ">QgsCoordinateReferenceSystem</span><span class="pun">(</span><span class="lit">4326</span><span class="pun">,</span><span class="pln"> </span><span class="typ">QgsCoordinateReferenceSystem</span><span class="pun">.</span><span class="typ">EpsgCrsId</span><span class="pun">)</span><span class="pln"> </span><span class="pun">)</span><span class="pln">
l_raster</span><span class="pun">.</span><span class="pln">setTransparency</span><span class="pun">(</span><span class="lit">20</span><span class="pun">)</span><span class="pln"> 

l_a </span><span class="pun">=</span><span class="pln"> </span><span class="typ">QgsVectorLayer</span><span class="pun">(</span><span class="str">"a.MIF"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Layer A"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"ogr"</span><span class="pun">)</span><span class="pln">
l_b </span><span class="pun">=</span><span class="pln"> </span><span class="typ">QgsVectorLayer</span><span class="pun">(</span><span class="str">"b.MIF"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Layer B"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"ogr"</span><span class="pun">)</span><span class="pln">
l_c  </span><span class="pun">=</span><span class="pln"> </span><span class="typ">QgsVectorLayer</span><span class="pun">(</span><span class="str">"c.MIF"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Layer C"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"ogr"</span><span class="pun">)</span><span class="pln">

</span><span class="kwd">if</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> l_raster</span><span class="pun">.</span><span class="pln">isValid</span><span class="pun">():</span><span class="pln">
  </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"Raster Layer failed to load!"</span><span class="pln">  

</span><span class="kwd">if</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> l_a</span><span class="pun">.</span><span class="pln">isValid</span><span class="pun">():</span><span class="pln">
  </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"A Layer failed to load!"</span><span class="pln">

</span><span class="kwd">if</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> l_b</span><span class="pun">.</span><span class="pln">isValid</span><span class="pun">():</span><span class="pln">
  </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"B Layer failed to load!"</span><span class="pln">

</span><span class="kwd">if</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> l_c</span><span class="pun">.</span><span class="pln">isValid</span><span class="pun">():</span><span class="pln">
  </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"C Layer failed to load!"</span><span class="pln">  

</span><span class="typ">QgsMapLayerRegistry</span><span class="pun">.</span><span class="pln">instance</span><span class="pun">().</span><span class="pln">addMapLayer</span><span class="pun">(</span><span class="pln">l_raster</span><span class="pun">)</span><span class="pln">
</span><span class="typ">QgsMapLayerRegistry</span><span class="pun">.</span><span class="pln">instance</span><span class="pun">().</span><span class="pln">addMapLayer</span><span class="pun">(</span><span class="pln">l_a</span><span class="pun">)</span><span class="pln">
</span><span class="typ">QgsMapLayerRegistry</span><span class="pun">.</span><span class="pln">instance</span><span class="pun">().</span><span class="pln">addMapLayer</span><span class="pun">(</span><span class="pln">l_b</span><span class="pun">)</span><span class="pln">
</span><span class="typ">QgsMapLayerRegistry</span><span class="pun">.</span><span class="pln">instance</span><span class="pun">().</span><span class="pln">addMapLayer</span><span class="pun">(</span><span class="pln">l_c</span><span class="pun">)</span><span class="pln">

</span><span class="com"># create image</span><span class="pln">
img </span><span class="pun">=</span><span class="pln"> </span><span class="typ">QImage</span><span class="pun">(</span><span class="typ">QSize</span><span class="pun">(</span><span class="lit">800</span><span class="pun">,</span><span class="lit">600</span><span class="pun">),</span><span class="pln"> </span><span class="typ">QImage</span><span class="pun">.</span><span class="typ">Format_ARGB32_Premultiplied</span><span class="pun">)</span><span class="pln">

</span><span class="com"># set image's background color</span><span class="pln">
color </span><span class="pun">=</span><span class="pln"> </span><span class="typ">QColor</span><span class="pun">(</span><span class="lit">255</span><span class="pun">,</span><span class="lit">255</span><span class="pun">,</span><span class="lit">255</span><span class="pun">)</span><span class="pln">
img</span><span class="pun">.</span><span class="pln">fill</span><span class="pun">(</span><span class="pln">color</span><span class="pun">.</span><span class="pln">rgb</span><span class="pun">())</span><span class="pln">

</span><span class="com"># create painter</span><span class="pln">
p </span><span class="pun">=</span><span class="pln"> </span><span class="typ">QPainter</span><span class="pun">()</span><span class="pln">
p</span><span class="pun">.</span><span class="kwd">begin</span><span class="pun">(</span><span class="pln">img</span><span class="pun">)</span><span class="pln">
p</span><span class="pun">.</span><span class="pln">setRenderHint</span><span class="pun">(</span><span class="typ">QPainter</span><span class="pun">.</span><span class="typ">Antialiasing</span><span class="pun">)</span><span class="pln">

render </span><span class="pun">=</span><span class="pln"> </span><span class="typ">QgsMapRenderer</span><span class="pun">()</span><span class="pln">

</span><span class="com"># set layer set</span><span class="pln">
</span><span class="com"># add ID of every layer</span><span class="pln">
lst </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[</span><span class="pln">l_raster</span><span class="pun">.</span><span class="pln">getLayerID</span><span class="pun">(),</span><span class="pln"> l_a</span><span class="pun">.</span><span class="pln">getLayerID</span><span class="pun">(),</span><span class="pln">  l_b</span><span class="pun">.</span><span class="pln">getLayerID</span><span class="pun">(),</span><span class="pln"> l_c</span><span class="pun">.</span><span class="pln">getLayerID</span><span class="pun">()]</span><span class="pln">  
render</span><span class="pun">.</span><span class="pln">setLayerSet</span><span class="pun">(</span><span class="pln">lst</span><span class="pun">)</span><span class="pln">

</span><span class="com"># set extent</span><span class="pln">
rect </span><span class="pun">=</span><span class="pln"> </span><span class="typ">QgsRectangle</span><span class="pun">(</span><span class="pln">render</span><span class="pun">.</span><span class="pln">fullExtent</span><span class="pun">())</span><span class="pln">
rect</span><span class="pun">.</span><span class="pln">scale</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln">
render</span><span class="pun">.</span><span class="pln">setExtent</span><span class="pun">(</span><span class="pln">rect</span><span class="pun">)</span><span class="pln">

</span><span class="com"># set output size</span><span class="pln">
render</span><span class="pun">.</span><span class="pln">setOutputSize</span><span class="pun">(</span><span class="pln">img</span><span class="pun">.</span><span class="pln">size</span><span class="pun">(),</span><span class="pln"> img</span><span class="pun">.</span><span class="pln">logicalDpiX</span><span class="pun">())</span><span class="pln">

</span><span class="com"># do the rendering</span><span class="pln">
render</span><span class="pun">.</span><span class="pln">render</span><span class="pun">(</span><span class="pln">p</span><span class="pun">)</span><span class="pln">

p</span><span class="pun">.</span><span class="kwd">end</span><span class="pun">()</span><span class="pln">

</span><span class="com"># save image</span><span class="pln">
img</span><span class="pun">.</span><span class="pln">save</span><span class="pun">(</span><span class="str">"render.png"</span><span class="pun">,</span><span class="str">"png"</span><span class="pun">)</span><span class="pln">

</span><span class="typ">QgsApplication</span><span class="pun">.</span><span class="pln">exitQgis</span><span class="pun">()<br><br><br></span></code></pre><br>                                       </div></body>
</html>