# Module: ol/source/ImageCanvas

This documentation is for OpenLayers v10.9.0. The latest is v.

## ol/source/ImageCanvas

### Classes

ImageCanvasSource

### Type Definitions

#### FunctionType()

source/ImageCanvas.js, line 14

  A function returning the canvas element (`{HTMLCanvasElement}`) used by the source as an image. The arguments passed to the function are: `Extent` the image extent, `{number}` the image resolution, `{number}` the pixel ratio of the map, `Size` the image size, and `Projection` the image projection. The canvas returned by this function is cached by the source. The this keyword inside the function references the `ImageCanvasSource`.

#### Options{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `attributions` | AttributionLike | undefined | Attributions.
  `canvasFunction` | FunctionType | undefined | Canvas function. The function returning the canvas element used by the source as an image. The arguments passed to the function are: `Extent` the image extent, `{number}` the image resolution, `{number}` the pixel ratio of the map, `Size` the image size, and `Projection` the image projection. The canvas returned by this function is cached by the source. If the value returned by the function is later changed then `changed` should be called on the source for the source to invalidate the current cached image. See: `changed`
  `interpolate` | boolean (defaults to true) | Use interpolated values when resampling. By default, linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.
  `projection` | ProjectionLike | undefined | Projection. Default is the view projection.
  `ratio` | number (defaults to 1.5) | Ratio. 1 means canvases are the size of the map viewport, 2 means twice the width and height of the map viewport, and so on. Must be `1` or higher.
  `resolutions` | Array.<number> | undefined | Resolutions. If specified, new canvases will be created for these resolutions
  `state` | State | undefined | Source state.