diff --git a/src/core/maprenderer/qgsmaprenderertask.cpp b/src/core/maprenderer/qgsmaprenderertask.cpp index 5caaab8fda1..e500bf1a5b6 100644 --- a/src/core/maprenderer/qgsmaprenderertask.cpp +++ b/src/core/maprenderer/qgsmaprenderertask.cpp @@ -28,6 +28,7 @@ #include "qgsvectorlayer.h" #include +#include #include #include #ifndef QT_NO_PRINTER @@ -383,7 +384,13 @@ bool QgsMapRendererTask::run() } else if ( mFileFormat != QLatin1String( "PDF" ) ) { - const bool success = mImage.save( mFileName, mFileFormat.toLocal8Bit().data() ); + QImageWriter writer( mFileName, mFileFormat.toLocal8Bit().data() ); + if ( mFileFormat == QLatin1String( "TIF" ) || mFileFormat == QLatin1String( "TIFF" ) ) + { + // Enable LZW compression + writer.setCompression( 1 ); + } + const bool success = writer.write( mImage ); if ( !success ) { mError = ImageSaveFail;