@@ -210,37 +210,17 @@ void QgsSVGFillSymbolLayer::startRender( QgsSymbolV2RenderContext& context )
210
210
context.renderContext ().scaleFactor (), context.renderContext ().rasterScaleFactor () );
211
211
QTransform brushTransform;
212
212
brushTransform.scale ( 1.0 / context.renderContext ().rasterScaleFactor (), 1.0 / context.renderContext ().rasterScaleFactor () );
213
- mBrush .setTextureImage ( patternImage );
214
- mBrush .setTransform ( brushTransform );
215
-
216
- #if 0
217
- //create QImage with appropriate dimensions
218
- int pixelWidth = context.outputPixelSize( mPatternWidth );
219
- int pixelHeight = pixelWidth / mSvgViewBox.width() * mSvgViewBox.height();
220
-
221
- QImage textureImage( pixelWidth, pixelHeight, QImage::Format_ARGB32_Premultiplied );
222
- textureImage.fill( 0 ); // transparent background
223
-
224
- //rasterise byte array to image
225
- QPainter p( &textureImage );
226
- QSvgRenderer r( mSvgData );
227
- if ( !r.isValid() )
213
+ if ( !doubleNear ( context.alpha (), 1.0 ) )
228
214
{
229
- return;
215
+ QImage transparentImage = patternImage.copy ();
216
+ QgsSymbolLayerV2Utils::multiplyImageOpacity ( &transparentImage, context.alpha () );
217
+ mBrush .setTextureImage ( transparentImage );
230
218
}
231
-
232
- r.render( &p );
233
-
234
- if ( context.alpha() < 1.0 )
219
+ else
235
220
{
236
- QgsSymbolLayerV2Utils::multiplyImageOpacity( &textureImage, context.alpha() );
221
+ mBrush . setTextureImage ( patternImage );
237
222
}
238
-
239
- QTransform brushTransform;
240
- brushTransform.scale( 1.0 / context.renderContext().rasterScaleFactor(), 1.0 / context.renderContext().rasterScaleFactor() );
241
- mBrush.setTextureImage( textureImage );
242
223
mBrush .setTransform ( brushTransform );
243
- #endif // 0
244
224
245
225
if ( mOutline )
246
226
{
0 commit comments