QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
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 (const QgsColorRampShader &other)
 Copy constructor. More...
 
 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 () override
 
ClassificationMode classificationMode () const
 Returns the classification mode. More...
 
void classifyColorRamp (int band=-1, const QgsRectangle &extent=QgsRectangle(), QgsRasterInterface *input=nullptr)
 Classify color ramp shader. More...
 
void classifyColorRamp (int classes=0, 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
 Returns the custom colormap. More...
 
Type colorRampType () const
 Returns the color ramp type. More...
 
QString colorRampTypeAsQString () const
 Returns the color ramp type as a string. More...
 
QgsColorRampcreateColorRamp () const
 Creates a gradient color ramp from shader settings. More...
 
bool isEmpty () const
 Whether the color ramp contains any items. More...
 
const QgsColorRampLegendNodeSettingslegendSettings () const
 Returns the color ramp shader legend settings. More...
 
void legendSymbologyItems (QList< QPair< QString, QColor > > &symbolItems) const override
 Returns legend symbology items if provided by renderer. More...
 
QgsColorRampShaderoperator= (const QgsColorRampShader &other)
 Assignment operator. More...
 
bool operator== (const QgsColorRampShader &other) const
 
void readXml (const QDomElement &elem, const QgsReadWriteContext &context=QgsReadWriteContext())
 Reads configuration from the given DOM element. 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)
 Sets a custom colormap. More...
 
void setColorRampType (const QString &type)
 Sets the color ramp type. More...
 
void setColorRampType (QgsColorRampShader::Type colorRampType)
 Sets the color ramp type. More...
 
void setLegendSettings (QgsColorRampLegendNodeSettings *settings)
 Sets the color ramp shader legend settings. More...
 
void setSourceColorRamp (QgsColorRamp *colorramp)
 Set the source color ramp. More...
 
bool shade (double redValue, double greenValue, double blueValue, double alphaValue, int *returnRedValue, int *returnGreenValue, int *returnBlueValue, int *returnAlphaValue) const override
 Generates and new RGB value based on original RGB value. More...
 
bool shade (double value, int *returnRedValue, int *returnGreenValue, int *returnBlueValue, int *returnAlphaValue) const override
 Generates and new RGB value based on one input value. More...
 
QgsColorRampsourceColorRamp () const
 Returns the source color ramp. More...
 
QDomElement writeXml (QDomDocument &doc, const QgsReadWriteContext &context=QgsReadWriteContext()) const
 Writes configuration to a new DOM element. More...
 
- Public Member Functions inherited from QgsRasterShaderFunction
 QgsRasterShaderFunction (double minimumValue=0.0, double maximumValue=255.0)
 
virtual ~QgsRasterShaderFunction ()=default
 
int labelPrecision () const
 Returns label precision. More...
 
virtual void legendSymbologyItems (QList< QPair< QString, QColor > > &symbolItems) const
 Returns legend symbology items if provided by renderer. More...
 
double maximumValue () const
 Returns the minimum value for the raster shader. More...
 
double minimumMaximumRange () const
 
double minimumValue () const
 Returns the maximum value for the raster shader. More...
 
void setLabelPrecision (int labelPrecision)
 Sets label precision to labelPrecision. More...
 
virtual void setMaximumValue (double value)
 Sets the maximum value for the raster shader. More...
 
virtual void setMinimumValue (double value)
 Sets the minimum value for the raster shader. More...
 
virtual bool shade (double redValue, double greenValue, double blueValue, double alphaValue, int *returnRedValue, int *returnGreenValue, int *returnBlueValue, int *returnAlpha) const
 Generates an new RGBA value based on an original RGBA value. More...
 
virtual bool shade (double value, int *returnRedValue, int *returnGreenValue, int *returnBlueValue, int *returnAlpha) const
 Generates an new RGBA value based on one input value. More...
 

Protected Attributes

std::unique_ptr< QgsColorRampmSourceColorRamp
 Source color ramp. More...
 
- Protected Attributes inherited from QgsRasterShaderFunction
int mLabelPrecision = 6
 Label precision. More...
 
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 42 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 56 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 48 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. Ownership is transferred to the shader.
Returns
new QgsColorRampShader

Definition at line 36 of file qgscolorrampshader.cpp.

◆ ~QgsColorRampShader()

QgsColorRampShader::~QgsColorRampShader ( )
overridedefault

◆ QgsColorRampShader() [2/2]

QgsColorRampShader::QgsColorRampShader ( const QgsColorRampShader other)

Copy constructor.

Definition at line 49 of file qgscolorrampshader.cpp.

Member Function Documentation

◆ classificationMode()

ClassificationMode QgsColorRampShader::classificationMode ( ) const
inline

Returns the classification mode.

Definition at line 219 of file qgscolorrampshader.h.

◆ classifyColorRamp() [1/2]

void QgsColorRampShader::classifyColorRamp ( 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 376 of file qgscolorrampshader.cpp.

◆ classifyColorRamp() [2/2]

void QgsColorRampShader::classifyColorRamp ( int  classes = 0,
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 187 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 232 of file qgscolorrampshader.h.

◆ colorRampItemList()

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

Returns the custom colormap.

Definition at line 132 of file qgscolorrampshader.h.

◆ colorRampType()

Type QgsColorRampShader::colorRampType ( ) const
inline

Returns the color ramp type.

Definition at line 135 of file qgscolorrampshader.h.

◆ colorRampTypeAsQString()

QString QgsColorRampShader::colorRampTypeAsQString ( ) const

Returns the color ramp type as a string.

Definition at line 85 of file qgscolorrampshader.cpp.

◆ createColorRamp()

QgsColorRamp * QgsColorRampShader::createColorRamp ( ) const

Creates a gradient color ramp from shader settings.

Since
QGIS 3.18

Definition at line 138 of file qgscolorrampshader.cpp.

◆ isEmpty()

bool QgsColorRampShader::isEmpty ( ) const

Whether the color ramp contains any items.

Since
QGIS 3.4

Definition at line 112 of file qgscolorrampshader.cpp.

◆ legendSettings()

const QgsColorRampLegendNodeSettings * QgsColorRampShader::legendSettings ( ) const

Returns the color ramp shader legend settings.

See also
setLegendSettings()
Since
QGIS 3.18

Definition at line 641 of file qgscolorrampshader.cpp.

◆ legendSymbologyItems()

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

Returns legend symbology items if provided by renderer.

Reimplemented from QgsRasterShaderFunction.

Definition at line 554 of file qgscolorrampshader.cpp.

◆ operator=()

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

Assignment operator.

Definition at line 65 of file qgscolorrampshader.cpp.

◆ operator==()

bool QgsColorRampShader::operator== ( const QgsColorRampShader other) const
inline

Definition at line 86 of file qgscolorrampshader.h.

◆ readXml()

void QgsColorRampShader::readXml ( const QDomElement &  elem,
const QgsReadWriteContext context = QgsReadWriteContext() 
)

Reads configuration from the given DOM element.

Since
QGIS 3.4

Definition at line 599 of file qgscolorrampshader.cpp.

◆ setClassificationMode()

void QgsColorRampShader::setClassificationMode ( ClassificationMode  classificationMode)
inline

Sets classification mode.

Definition at line 216 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 226 of file qgscolorrampshader.h.

◆ setColorRampItemList()

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

Sets a custom colormap.

Definition at line 99 of file qgscolorrampshader.cpp.

◆ setColorRampType() [1/2]

void QgsColorRampShader::setColorRampType ( const QString &  type)

Sets the color ramp type.

Definition at line 117 of file qgscolorrampshader.cpp.

◆ setColorRampType() [2/2]

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

Sets the color ramp type.

Definition at line 107 of file qgscolorrampshader.cpp.

◆ setLegendSettings()

void QgsColorRampShader::setLegendSettings ( QgsColorRampLegendNodeSettings settings)

Sets the color ramp shader legend settings.

Ownership of settings is transferred.

See also
legendSettings()
Since
QGIS 3.18

Definition at line 646 of file qgscolorrampshader.cpp.

◆ setSourceColorRamp()

void QgsColorRampShader::setSourceColorRamp ( QgsColorRamp colorramp)

Set the source color ramp.

Ownership is transferred to the shader.

See also
sourceColorRamp()
Since
QGIS 3.0

Definition at line 182 of file qgscolorrampshader.cpp.

◆ shade() [1/2]

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

Generates and new RGB value based on original RGB value.

Reimplemented from QgsRasterShaderFunction.

Definition at line 536 of file qgscolorrampshader.cpp.

◆ shade() [2/2]

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

Generates and new RGB value based on one input value.

Reimplemented from QgsRasterShaderFunction.

Definition at line 381 of file qgscolorrampshader.cpp.

◆ sourceColorRamp()

QgsColorRamp * QgsColorRampShader::sourceColorRamp ( ) const

Returns the source color ramp.

See also
setSourceColorRamp()
Since
QGIS 3.0

Definition at line 133 of file qgscolorrampshader.cpp.

◆ writeXml()

QDomElement QgsColorRampShader::writeXml ( QDomDocument &  doc,
const QgsReadWriteContext context = QgsReadWriteContext() 
) const

Writes configuration to a new DOM element.

Since
QGIS 3.4

Definition at line 563 of file qgscolorrampshader.cpp.

Member Data Documentation

◆ mSourceColorRamp

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

Source color ramp.

Definition at line 255 of file qgscolorrampshader.h.


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