QGIS API Documentation  2.99.0-Master (cb63e82)
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
QgsColorRampShader Class Reference

A ramp shader will color a raster pixel based on a list of values ranges in a ramp. More...

#include <qgscolorrampshader.h>

Inheritance diagram for QgsColorRampShader:
Inheritance graph
[legend]

Classes

struct  ColorRampItem
 

Public Types

enum  ClassificationMode { Continuous = 1, EqualInterval = 2, Quantile = 3 }
 Classification modes used to create the color ramp shader. More...
 
enum  Type { Interpolated, Discrete, Exact }
 Supported methods for color interpolation. More...
 

Public Member Functions

 QgsColorRampShader (double minimumValue=0.0, double maximumValue=255.0, QgsColorRamp *colorRamp=nullptr, Type type=Interpolated, ClassificationMode classificationMode=Continuous)
 Creates a new color ramp shader. More...
 
 QgsColorRampShader (const QgsColorRampShader &other)
 Copy constructor. More...
 
ClassificationMode classificationMode () const
 Returns the classification mode. More...
 
void classifyColorRamp (const int classes=0, const int band=-1, const QgsRectangle &extent=QgsRectangle(), QgsRasterInterface *input=nullptr)
 Classify color ramp shader. More...
 
void classifyColorRamp (const int band=-1, const QgsRectangle &extent=QgsRectangle(), QgsRasterInterface *input=nullptr)
 Classify color ramp shader. More...
 
bool clip () const
 Returns whether the shader will clip values which are out of range. More...
 
QList< QgsColorRampShader::ColorRampItemcolorRampItemList () const
 Get the custom colormap. More...
 
Type colorRampType () const
 Get the color ramp type. More...
 
QString colorRampTypeAsQString ()
 Get the color ramp type as a string. More...
 
void legendSymbologyItems (QList< QPair< QString, QColor > > &symbolItems) const override
 Get symbology items if provided by renderer. More...
 
QgsColorRampShaderoperator= (const QgsColorRampShader &other)
 Assignment operator. More...
 
void setClassificationMode (ClassificationMode classificationMode)
 Sets classification mode. More...
 
void setClip (bool clip)
 Sets whether the shader should not render values out of range. More...
 
void setColorRampItemList (const QList< QgsColorRampShader::ColorRampItem > &list)
 Set custom colormap. More...
 
void setColorRampType (QgsColorRampShader::Type colorRampType)
 Set the color ramp type. More...
 
void setColorRampType (const QString &type)
 Set the color ramp type. More...
 
void setSourceColorRamp (QgsColorRamp *colorramp)
 Set the source color ramp. More...
 
bool shade (double, int *, int *, int *, int *) override
 Generates and new RGB value based on one input value. More...
 
bool shade (double, double, double, double, int *, int *, int *, int *) override
 Generates and new RGB value based on original RGB value. More...
 
QgsColorRampsourceColorRamp () const
 Get the source color ramp. More...
 
- Public Member Functions inherited from QgsRasterShaderFunction
 QgsRasterShaderFunction (double minimumValue=0.0, double maximumValue=255.0)
 
virtual ~QgsRasterShaderFunction ()=default
 
double maximumValue () const
 
double minimumMaximumRange () const
 
double minimumValue () const
 
virtual void setMaximumValue (double)
 Set the maximum value. More...
 
virtual void setMinimumValue (double)
 Return the minimum value. More...
 

Protected Attributes

std::unique_ptr< QgsColorRampmSourceColorRamp
 Source color ramp. More...
 
- Protected Attributes inherited from QgsRasterShaderFunction
double mMaximumValue
 User defineable maximum value for the shading function. More...
 
double mMinimumMaximumRange
 Minimum maximum range for the shading function. More...
 
double mMinimumValue
 User defineable minimum value for the shading function. More...
 

Detailed Description

A ramp shader will color a raster pixel based on a list of values ranges in a ramp.

Definition at line 37 of file qgscolorrampshader.h.

Member Enumeration Documentation

◆ ClassificationMode

Classification modes used to create the color ramp shader.

Enumerator
Continuous 

Uses breaks from color palette.

EqualInterval 

Uses equal interval.

Quantile 

Uses quantile (i.e. equal pixel) count.

Definition at line 51 of file qgscolorrampshader.h.

◆ Type

Supported methods for color interpolation.

Enumerator
Interpolated 

Interpolates the color between two class breaks linearly.

Discrete 

Assigns the color of the higher class for every pixel between two class breaks.

Exact 

Assigns the color of the exact matching value in the color ramp item list.

Definition at line 43 of file qgscolorrampshader.h.

Constructor & Destructor Documentation

◆ QgsColorRampShader() [1/2]

QgsColorRampShader::QgsColorRampShader ( double  minimumValue = 0.0,
double  maximumValue = 255.0,
QgsColorRamp colorRamp = nullptr,
Type  type = Interpolated,
ClassificationMode  classificationMode = Continuous 
)

Creates a new color ramp shader.

Parameters
minimumValueminimum value for the raster shader
maximumValuemaximum value for the raster shader
typeinterpolation type used
classificationModemethod used to classify the color ramp shader
colorRampvector color ramp used to classify the color ramp shader
Returns
new QgsColorRampShader

Definition at line 33 of file qgscolorrampshader.cpp.

◆ QgsColorRampShader() [2/2]

QgsColorRampShader::QgsColorRampShader ( const QgsColorRampShader other)

Copy constructor.

Definition at line 47 of file qgscolorrampshader.cpp.

Member Function Documentation

◆ classificationMode()

ClassificationMode QgsColorRampShader::classificationMode ( ) const
inline

Returns the classification mode.

Definition at line 157 of file qgscolorrampshader.h.

◆ classifyColorRamp() [1/2]

void QgsColorRampShader::classifyColorRamp ( const int  classes = 0,
const int  band = -1,
const QgsRectangle extent = QgsRectangle(),
QgsRasterInterface input = nullptr 
)

Classify color ramp shader.

Parameters
classesnumber of classes
bandraster band used in classification (only used in quantile mode)
extentextent used in classification (only used in quantile mode)
inputraster input used in classification (only used in quantile mode)

Definition at line 126 of file qgscolorrampshader.cpp.

◆ classifyColorRamp() [2/2]

void QgsColorRampShader::classifyColorRamp ( const int  band = -1,
const QgsRectangle extent = QgsRectangle(),
QgsRasterInterface input = nullptr 
)

Classify color ramp shader.

Parameters
bandraster band used in classification (quantile mode only)
extentextent used in classification (quantile mode only)
inputraster input used in classification (quantile mode only)

Definition at line 305 of file qgscolorrampshader.cpp.

◆ clip()

bool QgsColorRampShader::clip ( ) const
inline

Returns whether the shader will clip values which are out of range.

See also
setClip()

Definition at line 168 of file qgscolorrampshader.h.

◆ colorRampItemList()

QList<QgsColorRampShader::ColorRampItem> QgsColorRampShader::colorRampItemList ( ) const
inline

Get the custom colormap.

Definition at line 100 of file qgscolorrampshader.h.

◆ colorRampType()

Type QgsColorRampShader::colorRampType ( ) const
inline

Get the color ramp type.

Definition at line 103 of file qgscolorrampshader.h.

◆ colorRampTypeAsQString()

QString QgsColorRampShader::colorRampTypeAsQString ( )

Get the color ramp type as a string.

Definition at line 73 of file qgscolorrampshader.cpp.

◆ legendSymbologyItems()

void QgsColorRampShader::legendSymbologyItems ( QList< QPair< QString, QColor > > &  symbolItems) const
overridevirtual

Get symbology items if provided by renderer.

Reimplemented from QgsRasterShaderFunction.

Definition at line 471 of file qgscolorrampshader.cpp.

◆ operator=()

QgsColorRampShader & QgsColorRampShader::operator= ( const QgsColorRampShader other)

Assignment operator.

Definition at line 60 of file qgscolorrampshader.cpp.

◆ setClassificationMode()

void QgsColorRampShader::setClassificationMode ( ClassificationMode  classificationMode)
inline

Sets classification mode.

Definition at line 154 of file qgscolorrampshader.h.

◆ setClip()

void QgsColorRampShader::setClip ( bool  clip)
inline

Sets whether the shader should not render values out of range.

Parameters
clipset to true to clip values which are out of range.
See also
clip()

Definition at line 163 of file qgscolorrampshader.h.

◆ setColorRampItemList()

void QgsColorRampShader::setColorRampItemList ( const QList< QgsColorRampShader::ColorRampItem > &  list)

Set custom colormap.

Definition at line 87 of file qgscolorrampshader.cpp.

◆ setColorRampType() [1/2]

void QgsColorRampShader::setColorRampType ( QgsColorRampShader::Type  colorRampType)

Set the color ramp type.

Definition at line 95 of file qgscolorrampshader.cpp.

◆ setColorRampType() [2/2]

void QgsColorRampShader::setColorRampType ( const QString &  type)

Set the color ramp type.

Definition at line 100 of file qgscolorrampshader.cpp.

◆ setSourceColorRamp()

void QgsColorRampShader::setSourceColorRamp ( QgsColorRamp colorramp)

Set the source color ramp.

Ownership is transferred to the renderer.

Since
QGIS 3.0
See also
sourceColorRamp()

Definition at line 121 of file qgscolorrampshader.cpp.

◆ shade() [1/2]

bool QgsColorRampShader::shade ( double  value,
int *  returnRedValue,
int *  returnGreenValue,
int *  returnBlueValue,
int *  returnAlphaValue 
)
overridevirtual

Generates and new RGB value based on one input value.

Reimplemented from QgsRasterShaderFunction.

Definition at line 310 of file qgscolorrampshader.cpp.

◆ shade() [2/2]

bool QgsColorRampShader::shade ( double  redValue,
double  greenValue,
double  blueValue,
double  alphaValue,
int *  returnRedValue,
int *  returnGreenValue,
int *  returnBlueValue,
int *  returnAlphaValue 
)
overridevirtual

Generates and new RGB value based on original RGB value.

Reimplemented from QgsRasterShaderFunction.

Definition at line 453 of file qgscolorrampshader.cpp.

◆ sourceColorRamp()

QgsColorRamp * QgsColorRampShader::sourceColorRamp ( ) const

Get the source color ramp.

Since
QGIS 3.0
See also
setSourceColorRamp()

Definition at line 116 of file qgscolorrampshader.cpp.

Member Data Documentation

◆ mSourceColorRamp

std::unique_ptr<QgsColorRamp> QgsColorRampShader::mSourceColorRamp
protected

Source color ramp.

Definition at line 173 of file qgscolorrampshader.h.


The documentation for this class was generated from the following files: