From dab0d15d1fee7119f130c1e055bd30b5aed8d5be Mon Sep 17 00:00:00 2001 From: nirvn Date: Mon, 22 Apr 2019 07:36:26 +0000 Subject: [PATCH] Turn antialiasing flag on when rendering legend symbol preview --- src/core/layertree/qgslayertreemodellegendnode.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/layertree/qgslayertreemodellegendnode.cpp b/src/core/layertree/qgslayertreemodellegendnode.cpp index 50007d4f4c41..867f421dacf8 100644 --- a/src/core/layertree/qgslayertreemodellegendnode.cpp +++ b/src/core/layertree/qgslayertreemodellegendnode.cpp @@ -395,6 +395,7 @@ QSizeF QgsSymbolLegendNode::drawSymbol( const QgsLegendSettings &settings, ItemC QgsRenderContext context; context.setScaleFactor( settings.dpi() / 25.4 ); context.setRendererScale( settings.mapScale() ); + context.setFlag( QgsRenderContext::Antialiasing, true ); context.setMapToPixel( QgsMapToPixel( 1 / ( settings.mmPerMapUnit() * context.scaleFactor() ) ) ); context.setForceVectorOutput( true ); context.setPainter( ctx ? ctx->painter : nullptr ); @@ -460,6 +461,7 @@ QSizeF QgsSymbolLegendNode::drawSymbol( const QgsLegendSettings &settings, ItemC QImage tempImage = QImage( tempImageSize, QImage::Format_ARGB32 ); tempImage.fill( Qt::transparent ); QPainter imagePainter( &tempImage ); + imagePainter.setRenderHint( QPainter::Antialiasing ); context.setPainter( &imagePainter ); s->drawPreviewIcon( &imagePainter, tempImageSize, &context ); context.setPainter( ctx->painter );