AMD: require(["esri/smartMapping/raster/renderers/rgb"], (rasterRGBCreator) => { /* code goes here */ });
ESM: import * as rasterRGBCreator from "@arcgis/core/smartMapping/raster/renderers/rgb.js";
Object: esri/smartMapping/raster/renderers/rgb
Since: ArcGIS Maps SDK for JavaScript 4.20

This object contains helper methods for generating an RGB stretch visualization for raster layers (i.e. ImageryLayer, ImageryTileLayer, or WCSLayer).

The createRenderer method in this module generates a renderer that may be applied directly to the input layer.

Method Overview

Name Return Type Summary Object

Generates an RGB RasterStretchRenderer to render three selected bands into red, green, and blue color channels.


Method Details



Generates an RGB RasterStretchRenderer to render three selected bands into red, green, and blue color channels.

params Object

Input parameters for generating a RGB stretch visualization. See the table below for details of each parameter. The colorRamp, gamma, useGamma, and dynamicRangeAdjustment parameters are not related to RGB band ID selection or stretch type. Pass them in to preserve the existing settings if desired.


The input layer for which the renderer is generated.

renderingRule RasterFunction

Deprecated since 4.27. Use rasterFunction instead.

rasterFunction RasterFunction

Specifies the function for how the requested image should be processed. When rasterFunction is applied, the server returns updated service information that reflects custom processing as defined by the raster function. If not provided, the output renderer is created using the layer's rasterFunction.

stretchType String

A preferred stretch type can be provided. See RasterStretchRenderer.stretchType for more information.

Possible Values:"none"|"min-max"|"standard-deviation"|"histogram-equalization"|"percent-clip"|"sigmoid"

rgbBandIds Number[]

The RGB band indexes following the order of red, green, and blue channels. This array must have three numbers.

gamma Number[]

The gamma values to be used if useGamma is true. Gamma refers to the degree of contrast between the mid-level gray values of a raster dataset. It does not affect black or white values, only the middle values. By applying a gamma correction, you can control the overall brightness of an ImageryLayer. Gamma stretching is only valid when stretchType is none, standard-deviation, or min-max. See RasterStretchRenderer.gamma for more information.

useGamma Boolean

Indicates whether the gamma values should be used. When false, the gamma is calculated from the statistics and histogram of the data.

dynamicRangeAdjustment Boolean

When true, calculates the renderer's statistics based on the current display extent and recalculates them as you zoom and pan around the image.

estimateStatistics Boolean

Useful in scenarios where an image service does not have statistics. When true, this function estimates global statistics to keep a constant visual on pan and zoom, unlike dynamicRangeAdjustment which recalculates statistics on each extent change.

signal AbortSignal

Allows for cancelable requests. If canceled, the promise will be rejected with an error named AbortError. See also AbortController.

Type Description
Promise<RasterRGBResult> Resolves to an object containing a stretch renderer that can be set on the input renderer.

Type Definitions


Type Definition

The result object of the createRenderer() method. See the table below for details of each property.


The RGB RasterStretchRenderer renderer to apply to the input layer.

rgbBandIds Number[]

The RGB band indexes following the order of red, green, and blue channels.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.