Branch data Line data Source code
1 : : /* ************************************************************************** 2 : : qgslinearminmaxenhancement.cpp - description 3 : : ------------------- 4 : : begin : Fri Nov 16 2007 5 : : copyright : (C) 2007 by Peter J. Ersts 6 : : email : ersts@amnh.org 7 : : 8 : : ****************************************************************************/ 9 : : 10 : : /* ************************************************************************** 11 : : * * 12 : : * This program is free software; you can redistribute it and/or modify * 13 : : * it under the terms of the GNU General Public License as published by * 14 : : * the Free Software Foundation; either version 2 of the License, or * 15 : : * (at your option) any later version. * 16 : : * * 17 : : ***************************************************************************/ 18 : : 19 : : #include "qgslinearminmaxenhancement.h" 20 : : 21 : 0 : QgsLinearMinMaxEnhancement::QgsLinearMinMaxEnhancement( Qgis::DataType qgsRasterDataType, double minimumValue, double maximumValue ) : QgsContrastEnhancementFunction( qgsRasterDataType, minimumValue, maximumValue ) 22 : 0 : { 23 : 0 : } 24 : : 25 : 0 : int QgsLinearMinMaxEnhancement::enhance( double value ) 26 : : { 27 : 0 : int myStretchedValue = static_cast<int>( ( ( value - mMinimumValue ) / ( mMinimumMaximumRange ) ) * 255.0 ); 28 : 0 : if ( myStretchedValue < 0 ) 29 : : { 30 : 0 : return 0; 31 : : } 32 : 0 : else if ( myStretchedValue > 255 ) 33 : : { 34 : 0 : return 255; 35 : : } 36 : : 37 : 0 : return myStretchedValue; 38 : 0 : }