• BlendRenderer
  • class Esri::ArcGISRuntime::BlendRenderer

    A blend renderer can apply a color ramp to a hillshade to emphasize areas of high or low elevation of raster data in a RasterLayer. More...

    Header: #include <BlendRenderer.h>
    Since: Esri::ArcGISRuntime 100.0
    Inherits: Esri::ArcGISRuntime::HillshadeRenderer

    Public Functions

    BlendRenderer(Esri::ArcGISRuntime::Raster *elevationRaster, QObject *parent = nullptr)
    BlendRenderer(Esri::ArcGISRuntime::Raster *elevationRaster, double altitude, double azimuth, double zFactor, QObject *parent = nullptr)
    BlendRenderer(Esri::ArcGISRuntime::Raster *elevationRaster, const QList<double> &outputMinValues, const QList<double> &outputMaxValues, const QList<double> &sourceMinValues, const QList<double> &sourceMaxValues, const QList<double> &noDataValues, const QList<double> &gammas, Esri::ArcGISRuntime::ColorRamp *colorRamp, double altitude, double azimuth, double zFactor, Esri::ArcGISRuntime::SlopeType slopeType, double pixelSizeFactor, double pixelSizePower, int outputBitDepth, QObject *parent = nullptr)
    virtual ~BlendRenderer() override
    (since Esri::ArcGISRuntime 100.8) Esri::ArcGISRuntime::ColorRamp *colorRamp() const
    Esri::ArcGISRuntime::Raster *elevationRaster() const
    QList<double> gammas() const
    QList<double> noDataValues() const
    QList<double> outputMaxValues() const
    QList<double> outputMinValues() const
    QList<double> sourceMaxValues() const
    QList<double> sourceMinValues() const

    Detailed Description

    The blend renderer extends HillshadeRenderer with options to provide minimum and maximum stretch values, gamma adjustments, elevation raster, and color ramp. It provides a look similar to the original raster, but with some terrain shading, giving it a textured look and making changes in elevation more visible.

    Relevant samples:

    • Blend raster layer: Blend a hillshade with a raster by specifying the elevation data. The resulting raster looks similar to the original raster, but with some terrain shading, giving it a textured look.

    Member Function Documentation

    [explicit] BlendRenderer::BlendRenderer(Esri::ArcGISRuntime::Raster *elevationRaster, QObject *parent = nullptr)

    Constructor that takes an elevationRaster with an optional parent.

    The default values are:

    • minValues - none
    • maxValues - none
    • gammas - none
    • altitude - 45 degrees
    • azimuth - 315 degrees
    • zFactor - 1
    • slopeType - SlopeType::None
    • pixelSizeFactor - 1
    • pixelSizePower - 1
    • outputBitDepth - 8

    BlendRenderer::BlendRenderer(Esri::ArcGISRuntime::Raster *elevationRaster, double altitude, double azimuth, double zFactor, QObject *parent = nullptr)

    Constructor that takes the following parameters:

    • elevationRaster - The raster elevation source.
    • altitude - The light's angle of elevation above the horizon.
    • azimuth - The light's relative angle along the horizon measured clockwise, where 0 is north.
    • zFactor - The z-factor used to convert z unit to x,y units.
    • parent - The optional parent.

    The default values are:

    • minValues - none
    • maxValues - none
    • gammas - none
    • slopeType - SlopeType::None
    • pixelSizeFactor - 1
    • pixelSizePower - 1
    • outputBitDepth - 8

    BlendRenderer::BlendRenderer(Esri::ArcGISRuntime::Raster *elevationRaster, const QList<double> &outputMinValues, const QList<double> &outputMaxValues, const QList<double> &sourceMinValues, const QList<double> &sourceMaxValues, const QList<double> &noDataValues, const QList<double> &gammas, Esri::ArcGISRuntime::ColorRamp *colorRamp, double altitude, double azimuth, double zFactor, Esri::ArcGISRuntime::SlopeType slopeType, double pixelSizeFactor, double pixelSizePower, int outputBitDepth, QObject *parent = nullptr)

    Creates a blend renderer.

    • elevationRaster - The elevation data, Raster. Can be nullptr.
    • outputMinValues - QList of double. Output stretch values, one for each band. Can be empty.
    • outputMaxValues - QList of double. Output stretch values, one for each band. Can be empty.
    • sourceMinValues - QList of double. Input stretch values, one for each band. Can be empty.
    • sourceMaxValues - QList of double. Input stretch values, one for each band. Can be empty.
    • noDataValues - QList of double. NoData values, one for each band. Can be empty.
    • gammas - QList of double. Gamma adjustment. Can be empty.
    • colorRamp - The color ramp object.
    • altitude - Altitude angle of the light source.
    • azimuth - Azimuth angle of the light source, measured clockwise from north.
    • zFactor - Factor to convert z unit to x,y unit, default is 1.
    • slopeType - SlopeType.
    • pixelSizeFactor - Pixel size factor, default is 1.
    • pixelSizePower - Pixel size power value, default is 1.
    • outputBitDepth - Output bit depth, default is 8-bit.
    • parent - The optional parent QObject.

    [override virtual noexcept] BlendRenderer::~BlendRenderer()

    Destructor.

    [since Esri::ArcGISRuntime 100.8] Esri::ArcGISRuntime::ColorRamp *BlendRenderer::colorRamp() const

    Returns the color ramp for creating the blend renderer.

    This function was introduced in Esri::ArcGISRuntime 100.8.

    Esri::ArcGISRuntime::Raster *BlendRenderer::elevationRaster() const

    Returns the elevation raster, Raster.

    QList<double> BlendRenderer::gammas() const

    Returns the gamma adjustments.

    Any changes to this array are not applied to the renderer.

    QList<double> BlendRenderer::noDataValues() const

    Returns the no-data values, one for each band.

    Any changes to this array are not applied to the renderer.

    QList<double> BlendRenderer::outputMaxValues() const

    Returns the maximum output values for blending, one for each band.

    Any changes to this array are not applied to the renderer.

    QList<double> BlendRenderer::outputMinValues() const

    Returns the minimum output values for blending, one for each band.

    Any changes to this array are not applied to the renderer.

    QList<double> BlendRenderer::sourceMaxValues() const

    Returns the maximum input values for blending, one for each band.

    Any changes to this array are not applied to the renderer.

    QList<double> BlendRenderer::sourceMinValues() const

    Returns the minimum input values for blending, one for each band.

    Any changes to this array are not applied to the renderer.