Skip to content

Commit 42c7712

Browse files
alexbruynyalldawson
authored andcommittedJan 25, 2019
[processing] use background color from the project settings in the rasterize algorithm (fix #19866)
(cherry picked from commit 8919d60)
1 parent f8893d7 commit 42c7712

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed
 

‎python/plugins/processing/algs/qgis/Rasterize.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,10 @@ def groupId(self):
153153
def tags(self):
154154
return self.tr('layer,raster,convert,file,map themes,tiles,render').split(',')
155155

156-
# def processAlgorithm(self, progress):
156+
def prepareAlgorithm(self, parameters, context, feedback):
157+
self.mapSettings = qgis.utils.iface.mapCanvas().mapSettings()
158+
return True
159+
157160
def processAlgorithm(self, parameters, context, feedback):
158161
"""Here is where the processing itself takes place."""
159162

@@ -194,9 +197,11 @@ def processAlgorithm(self, parameters, context, feedback):
194197
self.OUTPUT,
195198
context)
196199

200+
project = context.project()
201+
197202
tile_set = TileSet(map_theme, layer, extent, tile_size, mupp,
198203
output_layer, make_trans,
199-
qgis.utils.iface.mapCanvas().mapSettings())
204+
self.mapSettings, project)
200205
tile_set.render(feedback, make_trans)
201206

202207
return {self.OUTPUT: output_layer}
@@ -209,7 +214,7 @@ class TileSet():
209214
"""
210215

211216
def __init__(self, map_theme, layer, extent, tile_size, mupp, output,
212-
make_trans, map_settings):
217+
make_trans, map_settings, project):
213218
"""
214219
:param map_theme:
215220
:param extent:
@@ -260,10 +265,14 @@ def __init__(self, map_theme, layer, extent, tile_size, mupp, output,
260265
self.settings.setFlag(QgsMapSettings.RenderMapTile, True)
261266
self.settings.setFlag(QgsMapSettings.UseAdvancedEffects, True)
262267

268+
r = project.readNumEntry('Gui', '/CanvasColorRedPart', 255)[0]
269+
g = project.readNumEntry('Gui', '/CanvasColorGreenPart', 255)[0]
270+
b = project.readNumEntry('Gui', '/CanvasColorBluePart', 255)[0]
263271
if make_trans:
264-
self.settings.setBackgroundColor(QColor(255, 255, 255, 0))
272+
self.bgColor = QColor(r, g, b, 0)
265273
else:
266-
self.settings.setBackgroundColor(QColor(255, 255, 255))
274+
self.bgColor = QColor(r, g, b)
275+
self.settings.setBackgroundColor(self.bgColor)
267276

268277
if QgsProject.instance().mapThemeCollection().hasMapTheme(map_theme):
269278
self.settings.setLayers(
@@ -300,11 +309,9 @@ def renderTile(self, x, y, feedback, make_trans):
300309
"""
301310

302311
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())
305313
else:
306-
background_color = QColor(255, 255, 255)
307-
self.image.fill(background_color.rgb())
314+
self.image.fill(self.bgColor.rgb())
308315

309316
painter = QPainter(self.image)
310317

0 commit comments

Comments
 (0)
Please sign in to comment.