Skip to content

Commit ab26a7f

Browse files
committedDec 29, 2011
Set contrast enhancement to single band gray renderer
1 parent 46aa6c6 commit ab26a7f

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed
 

‎src/core/raster/qgsrasterlayer.cpp

+17-1
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,8 @@ void QgsRasterLayer::draw( QPainter * theQPainter,
816816
}
817817
else
818818
{
819-
QgsSingleBandGrayRenderer r( mDataProvider, bandNumber( mGrayBandName ), mResampler );
819+
int grayBand = bandNumber( mGrayBandName );
820+
QgsSingleBandGrayRenderer r( mDataProvider, grayBand, mResampler );
820821
r.setOpacity( mTransparencyLevel / 255.0 );
821822
r.setRasterTransparency( &mRasterTransparency );
822823
if ( mTransparencyBandName != TRSTRING_NOT_SET )
@@ -828,6 +829,21 @@ void QgsRasterLayer::draw( QPainter * theQPainter,
828829
}
829830
}
830831
r.setInvertColor( mInvertColor );
832+
if ( QgsContrastEnhancement::NoEnhancement != contrastEnhancementAlgorithm() && !mUserDefinedGrayMinimumMaximum && mStandardDeviations > 0 )
833+
{
834+
mGrayMinimumMaximumEstimated = false;
835+
QgsRasterBandStats myGrayBandStats = bandStatistics( grayBand );
836+
setMaximumValue( grayBand, myGrayBandStats.mean + ( mStandardDeviations * myGrayBandStats.stdDev ) );
837+
setMinimumValue( grayBand, myGrayBandStats.mean - ( mStandardDeviations * myGrayBandStats.stdDev ) );
838+
r.setContrastEnhancement( contrastEnhancement( grayBand ) );
839+
}
840+
else if ( QgsContrastEnhancement::NoEnhancement != contrastEnhancementAlgorithm() && !mUserDefinedGrayMinimumMaximum )
841+
{
842+
mGrayMinimumMaximumEstimated = true;
843+
setMaximumValue( grayBand, mDataProvider->maximumValue( grayBand ) );
844+
setMinimumValue( grayBand, mDataProvider->minimumValue( grayBand ) );
845+
r.setContrastEnhancement( contrastEnhancement( grayBand ) );
846+
}
831847
r.draw( theQPainter, theRasterViewPort, theQgsMapToPixel );
832848

833849
#if 0

0 commit comments

Comments
 (0)