QgsRasterRenderer class

Raster renderer pipe that applies colors to a raster.

Base classes

class QgsRasterInterface
Base class for processing filters like renderers, reprojector, resampler etc.

Derived classes

class QgsHillshadeRenderer
A renderer for generating live hillshade models.
class QgsMultiBandColorRenderer
Renderer for multiband images with the color components.
class QgsPalettedRasterRenderer
Renderer for paletted raster images.
class QgsSingleBandColorDataRenderer
Raster renderer pipe for single band color.
class QgsSingleBandGrayRenderer
Raster renderer pipe for single band gray.
class QgsSingleBandPseudoColorRenderer
Raster renderer pipe for single band pseudocolor.

Constructors, destructors, conversion operators

QgsRasterRenderer(QgsRasterInterface* input = nullptr, const QString& type = QString())
Constructor for QgsRasterRenderer.
QgsRasterRenderer(const QgsRasterRenderer&) deleted
QgsRasterRenderer cannot be copied. Use clone() instead.

Public functions

auto bandCount() const -> int override
Gets number of bands.
auto block(int bandNo, const QgsRectangle& extent, int width, int height, QgsRasterBlockFeedback* feedback = nullptr) -> QgsRasterBlock* override
Read block of data using given extent and size.
auto clone() const -> QgsRasterRenderer* override
Clone itself, create deep copy.
void copyCommonProperties(const QgsRasterRenderer* other, bool copyMinMaxOrigin = true)
Copies common properties like opacity / transparency data from other renderer.
auto dataType(int bandNo) const -> Qgis::DataType override
Returns data type for the band specified by number.
void legendSymbologyItems(QList<QPair<QString, QColor>>& symbolItems) const virtual
Gets symbology items if provided by renderer.
auto minMaxOrigin() const -> const QgsRasterMinMaxOrigin&
Returns const reference to origin of min/max values.
auto opacity() const -> double
Returns the opacity for the renderer, where opacity is a value between 0 (totally transparent) and 1.0 (fully opaque).
auto operator=(const QgsRasterRenderer&) -> const QgsRasterRenderer& deleted
QgsRasterRenderer cannot be copied. Use clone() instead.
void readXml(const QDomElement& rendererElem) override
Sets base class members from xml. Usually called from create() methods of subclasses.
auto setInput(QgsRasterInterface* input) -> bool override
Set input.
void setMinMaxOrigin(const QgsRasterMinMaxOrigin& origin)
Sets origin of min/max values.
void setOpacity(double opacity)
Sets the opacity for the renderer, where opacity is a value between 0 (totally transparent) and 1.0 (fully opaque).
auto usesBands() const -> QList<int> virtual
Returns a list of band numbers used by the renderer.

Protected functions

void _writeXml(QDomDocument& doc, QDomElement& rasterRendererElem) const
Write upper class info into rasterrenderer element (called by writeXml method of subclasses)

Protected variables

int mAlphaBand
Read alpha value from band.
QgsRasterMinMaxOrigin mMinMaxOrigin
Origin of min/max values.
double mOpacity
Global alpha value (0-1)
QgsRasterTransparency* mRasterTransparency
Raster transparency per color or value. Overwrites global alpha value.

Function documentation

QgsRasterBlock* QgsRasterRenderer::block(int bandNo, const QgsRectangle& extent, int width, int height, QgsRasterBlockFeedback* feedback = nullptr) override

Read block of data using given extent and size.

Parameters
bandNo band number
extent extent of block
width pixel width of block
height pixel height of block
feedback optional raster feedback object for cancelation/preview. Added in QGIS 3.0.

Returns pointer to data. Caller is responsible to free the memory returned.

void QgsRasterRenderer::copyCommonProperties(const QgsRasterRenderer* other, bool copyMinMaxOrigin = true)

Copies common properties like opacity / transparency data from other renderer.

Useful when cloning renderers.

double QgsRasterRenderer::opacity() const

Returns the opacity for the renderer, where opacity is a value between 0 (totally transparent) and 1.0 (fully opaque).

bool QgsRasterRenderer::setInput(QgsRasterInterface* input) override

Set input.

Returns true if set correctly, false if cannot use that input

void QgsRasterRenderer::setOpacity(double opacity)

Sets the opacity for the renderer, where opacity is a value between 0 (totally transparent) and 1.0 (fully opaque).

Variable documentation

int QgsRasterRenderer::mAlphaBand protected

Read alpha value from band.

Is combined with value from raster transparency / global alpha value. Default: -1 (not set)