Navigation Menu

Skip to content

Commit

Permalink
Set contrast enhancement to single band gray renderer
Browse files Browse the repository at this point in the history
  • Loading branch information
mhugent committed Dec 29, 2011
1 parent 46aa6c6 commit ab26a7f
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion src/core/raster/qgsrasterlayer.cpp
Expand Up @@ -816,7 +816,8 @@ void QgsRasterLayer::draw( QPainter * theQPainter,
}
else
{
QgsSingleBandGrayRenderer r( mDataProvider, bandNumber( mGrayBandName ), mResampler );
int grayBand = bandNumber( mGrayBandName );
QgsSingleBandGrayRenderer r( mDataProvider, grayBand, mResampler );
r.setOpacity( mTransparencyLevel / 255.0 );
r.setRasterTransparency( &mRasterTransparency );
if ( mTransparencyBandName != TRSTRING_NOT_SET )
Expand All @@ -828,6 +829,21 @@ void QgsRasterLayer::draw( QPainter * theQPainter,
}
}
r.setInvertColor( mInvertColor );
if ( QgsContrastEnhancement::NoEnhancement != contrastEnhancementAlgorithm() && !mUserDefinedGrayMinimumMaximum && mStandardDeviations > 0 )
{
mGrayMinimumMaximumEstimated = false;
QgsRasterBandStats myGrayBandStats = bandStatistics( grayBand );
setMaximumValue( grayBand, myGrayBandStats.mean + ( mStandardDeviations * myGrayBandStats.stdDev ) );
setMinimumValue( grayBand, myGrayBandStats.mean - ( mStandardDeviations * myGrayBandStats.stdDev ) );
r.setContrastEnhancement( contrastEnhancement( grayBand ) );
}
else if ( QgsContrastEnhancement::NoEnhancement != contrastEnhancementAlgorithm() && !mUserDefinedGrayMinimumMaximum )
{
mGrayMinimumMaximumEstimated = true;
setMaximumValue( grayBand, mDataProvider->maximumValue( grayBand ) );
setMinimumValue( grayBand, mDataProvider->minimumValue( grayBand ) );
r.setContrastEnhancement( contrastEnhancement( grayBand ) );
}
r.draw( theQPainter, theRasterViewPort, theQgsMapToPixel );

#if 0
Expand Down

0 comments on commit ab26a7f

Please sign in to comment.