# ImageryLayer

#### new Cesium.ImageryLayer(imageryProvider, options)
Scene/ImageryLayer.js 141

  An imagery layer that displays tiled image data from a single imagery provider on a `Globe`.

  Name | Type | Description
  --- | --- | ---
  `imageryProvider` | ImageryProvider | The imagery provider to use.

  `options`

  Object

  optional Object with the following properties:

  Name | Type | Default | Description
  --- | --- | --- | ---
  `rectangle` | Rectangle | `imageryProvider.rectangle` | optional The rectangle of the layer. This rectangle can limit the visible portion of the imagery provider.

  `alpha`

  Number | function

  `1.0`

  optional The alpha blending value of this layer, from 0.0 to 1.0. This can either be a simple number or a function with the signature `function(frameState, layer, x, y, level)`. The function is passed the current frame state, this layer, and the x, y, and level coordinates of the imagery tile for which the alpha is required, and it is expected to return the alpha value to use for the tile.

  `brightness`

  Number | function

  `1.0`

  optional The brightness of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 makes the imagery darker while greater than 1.0 makes it brighter. This can either be a simple number or a function with the signature `function(frameState, layer, x, y, level)`. The function is passed the current frame state, this layer, and the x, y, and level coordinates of the imagery tile for which the brightness is required, and it is expected to return the brightness value to use for the tile. The function is executed for every frame and for every tile, so it must be fast.

  `contrast`

  Number | function

  `1.0`

  optional The contrast of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the contrast while greater than 1.0 increases it. This can either be a simple number or a function with the signature `function(frameState, layer, x, y, level)`. The function is passed the current frame state, this layer, and the x, y, and level coordinates of the imagery tile for which the contrast is required, and it is expected to return the contrast value to use for the tile. The function is executed for every frame and for every tile, so it must be fast.

  `hue`

  Number | function

  `0.0`

  optional The hue of this layer. 0.0 uses the unmodified imagery color. This can either be a simple number or a function with the signature `function(frameState, layer, x, y, level)`. The function is passed the current frame state, this layer, and the x, y, and level coordinates of the imagery tile for which the hue is required, and it is expected to return the contrast value to use for the tile. The function is executed for every frame and for every tile, so it must be fast.

  `saturation`

  Number | function

  `1.0`

  optional The saturation of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the saturation while greater than 1.0 increases it. This can either be a simple number or a function with the signature `function(frameState, layer, x, y, level)`. The function is passed the current frame state, this layer, and the x, y, and level coordinates of the imagery tile for which the saturation is required, and it is expected to return the contrast value to use for the tile. The function is executed for every frame and for every tile, so it must be fast.

  `gamma`

  Number | function

  `1.0`

  optional The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color. This can either be a simple number or a function with the signature `function(frameState, layer, x, y, level)`. The function is passed the current frame state, this layer, and the x, y, and level coordinates of the imagery tile for which the gamma is required, and it is expected to return the gamma value to use for the tile. The function is executed for every frame and for every tile, so it must be fast.

  `show` | Boolean | `true` | optional True if the layer is shown; otherwise, false.
  `maximumAnisotropy` | Number | `maximum supported` | optional The maximum anisotropy level to use for texture filtering. If this parameter is not specified, the maximum anisotropy supported by the WebGL stack will be used. Larger values make the imagery look better in horizon views.
  `minimumTerrainLevel` | Number |  | optional The minimum terrain level-of-detail at which to show this imagery layer, or undefined to show it at all levels. Level zero is the least-detailed level.
  `maximumTerrainLevel` | Number |  | optional The maximum terrain level-of-detail at which to show this imagery layer, or undefined to show it at all levels. Level zero is the least-detailed level.

### Members

#### staticCesium.ImageryLayer.DEFAULT_BRIGHTNESS : Number
Scene/ImageryLayer.js 265

  This value is used as the default brightness for the imagery layer if one is not provided during construction or by the imagery provider. This value does not modify the brightness of the imagery.
  Default Value: `1.0`

#### staticCesium.ImageryLayer.DEFAULT_CONTRAST : Number
Scene/ImageryLayer.js 272

  This value is used as the default contrast for the imagery layer if one is not provided during construction or by the imagery provider. This value does not modify the contrast of the imagery.
  Default Value: `1.0`

#### staticCesium.ImageryLayer.DEFAULT_GAMMA : Number
Scene/ImageryLayer.js 293

  This value is used as the default gamma for the imagery layer if one is not provided during construction or by the imagery provider. This value does not modify the gamma of the imagery.
  Default Value: `1.0`

#### staticCesium.ImageryLayer.DEFAULT_HUE : Number
Scene/ImageryLayer.js 279

  This value is used as the default hue for the imagery layer if one is not provided during construction or by the imagery provider. This value does not modify the hue of the imagery.
  Default Value: `0.0`

#### staticCesium.ImageryLayer.DEFAULT_SATURATION : Number
Scene/ImageryLayer.js 286

  This value is used as the default saturation for the imagery layer if one is not provided during construction or by the imagery provider. This value does not modify the saturation of the imagery.
  Default Value: `1.0`

#### alpha : Number
Scene/ImageryLayer.js 153

  The alpha blending value of this layer, with 0.0 representing fully transparent and 1.0 representing fully opaque.
  Default Value: `1.0`

#### brightness : Number
Scene/ImageryLayer.js 162

  The brightness of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 makes the imagery darker while greater than 1.0 makes it brighter.
  Default Value: ``ImageryLayer.DEFAULT_BRIGHTNESS``

#### contrast : Number
Scene/ImageryLayer.js 171

  The contrast of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the contrast while greater than 1.0 increases it.
  Default Value: ``ImageryLayer.DEFAULT_CONTRAST``

#### gamma : Number
Scene/ImageryLayer.js 196

  The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.
  Default Value: ``ImageryLayer.DEFAULT_GAMMA``

#### hue : Number
Scene/ImageryLayer.js 179

  The hue of this layer in radians. 0.0 uses the unmodified imagery color.
  Default Value: ``ImageryLayer.DEFAULT_HUE``

#### readonlyimageryProvider : ImageryProvider
Scene/ImageryLayer.js 238

  Gets the imagery provider for this layer.

#### readonlyrectangle : Rectangle
Scene/ImageryLayer.js 251

  Gets the rectangle of this layer. If this rectangle is smaller than the rectangle of the `ImageryProvider`, only a portion of the imagery provider is shown.

#### saturation : Number
Scene/ImageryLayer.js 188

  The saturation of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the saturation while greater than 1.0 increases it.
  Default Value: ``ImageryLayer.DEFAULT_SATURATION``

#### show : Boolean
Scene/ImageryLayer.js 204

  Determines if this layer is shown.
  Default Value: `true`

### Methods

#### destroy() → undefined
Scene/ImageryLayer.js 340

  Destroys the WebGL resources held by this object. Destroying an object allows for deterministic release of WebGL resources, instead of relying on the garbage collector to destroy this object.
  Once an object is destroyed, it should not be used; calling any function other than `isDestroyed` will result in a `DeveloperError` exception. Therefore, assign the return value (`undefined`) to the object as done in the example.

  ##### Returns:

  ##### Throws:

  - DeveloperError : This object was destroyed, i.e., destroy() was called.

  ##### Example:

      imageryLayer = imageryLayer && imageryLayer.destroy();

  ##### See:

  - ImageryLayer#isDestroyed

#### getViewableRectangle() → Promise.<Rectangle>
Scene/ImageryLayer.js 363

  Computes the intersection of this layer's rectangle with the imagery provider's availability rectangle, producing the overall bounds of imagery that can be produced by this layer.

  ##### Returns:

  A promise to a rectangle which defines the overall bounds of imagery that can be produced by this layer.

  ##### Example:

      // Zoom to an imagery layer.
      imageryLayer.getViewableRectangle().then(function (rectangle) {
          return camera.flyTo({
              destination: rectangle
          });
      });

#### isBaseLayer() → Boolean
Scene/ImageryLayer.js 304

  Gets a value indicating whether this layer is the base layer in the `ImageryLayerCollection`. The base layer is the one that underlies all others. It is special in that it is treated as if it has global rectangle, even if it actually does not, by stretching the texels at the edges over the entire globe.

  ##### Returns:

  true if this is the base layer; otherwise, false.

#### isDestroyed() → Boolean
Scene/ImageryLayer.js 318

  Returns true if this object was destroyed; otherwise, false.
  If this object was destroyed, it should not be used; calling any function other than `isDestroyed` will result in a `DeveloperError` exception.

  ##### Returns:

  True if this object was destroyed; otherwise, false.

  ##### See:

  - ImageryLayer#destroy