@@ -153,7 +153,10 @@ def groupId(self):
153
153
def tags (self ):
154
154
return self .tr ('layer,raster,convert,file,map themes,tiles,render' ).split (',' )
155
155
156
- # def processAlgorithm(self, progress):
156
+ def prepareAlgorithm (self , parameters , context , feedback ):
157
+ self .mapSettings = qgis .utils .iface .mapCanvas ().mapSettings ()
158
+ return True
159
+
157
160
def processAlgorithm (self , parameters , context , feedback ):
158
161
"""Here is where the processing itself takes place."""
159
162
@@ -194,9 +197,11 @@ def processAlgorithm(self, parameters, context, feedback):
194
197
self .OUTPUT ,
195
198
context )
196
199
200
+ project = context .project ()
201
+
197
202
tile_set = TileSet (map_theme , layer , extent , tile_size , mupp ,
198
203
output_layer , make_trans ,
199
- qgis . utils . iface . mapCanvas (). mapSettings () )
204
+ self . mapSettings , project )
200
205
tile_set .render (feedback , make_trans )
201
206
202
207
return {self .OUTPUT : output_layer }
@@ -209,7 +214,7 @@ class TileSet():
209
214
"""
210
215
211
216
def __init__ (self , map_theme , layer , extent , tile_size , mupp , output ,
212
- make_trans , map_settings ):
217
+ make_trans , map_settings , project ):
213
218
"""
214
219
:param map_theme:
215
220
:param extent:
@@ -260,10 +265,14 @@ def __init__(self, map_theme, layer, extent, tile_size, mupp, output,
260
265
self .settings .setFlag (QgsMapSettings .RenderMapTile , True )
261
266
self .settings .setFlag (QgsMapSettings .UseAdvancedEffects , True )
262
267
268
+ r = project .readNumEntry ('Gui' , '/CanvasColorRedPart' , 255 )[0 ]
269
+ g = project .readNumEntry ('Gui' , '/CanvasColorGreenPart' , 255 )[0 ]
270
+ b = project .readNumEntry ('Gui' , '/CanvasColorBluePart' , 255 )[0 ]
263
271
if make_trans :
264
- self .settings . setBackgroundColor ( QColor (255 , 255 , 255 , 0 ) )
272
+ self .bgColor = QColor (r , g , b , 0 )
265
273
else :
266
- self .settings .setBackgroundColor (QColor (255 , 255 , 255 ))
274
+ self .bgColor = QColor (r , g , b )
275
+ self .settings .setBackgroundColor (self .bgColor )
267
276
268
277
if QgsProject .instance ().mapThemeCollection ().hasMapTheme (map_theme ):
269
278
self .settings .setLayers (
@@ -300,11 +309,9 @@ def renderTile(self, x, y, feedback, make_trans):
300
309
"""
301
310
302
311
if make_trans :
303
- background_color = QColor (255 , 255 , 255 , 0 )
304
- self .image .fill (background_color .rgba ())
312
+ self .image .fill (self .bgColor .rgba ())
305
313
else :
306
- background_color = QColor (255 , 255 , 255 )
307
- self .image .fill (background_color .rgb ())
314
+ self .image .fill (self .bgColor .rgb ())
308
315
309
316
painter = QPainter (self .image )
310
317
0 commit comments