---
title: "PixelMap"
description: "Result of a pixel read operation. This contains the [ImageBitmap] pixel information represented
as a 1 dimensional array of values that supports queries of pixel values based on the 2
dimensional coordinates of the corresponding [ImageBitmap] this was obtained from"
type: "class"
---

<div class='type'>Class</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
class PixelMap(
    val buffer: IntArray,
    val width: Int,
    val height: Int,
    val bufferOffset: Int,
    val stride: Int,
)
```


Result of a pixel read operation. This contains the `ImageBitmap` pixel information represented
as a 1 dimensional array of values that supports queries of pixel values based on the 2
dimensional coordinates of the corresponding `ImageBitmap` this was obtained from

#### Parameters

| | |
| --- | --- |
| buffer | IntArray where pixel information is stored as an ARGB value packed into an Int |
| bufferOffset | first index in the buffer where pixel information for the `ImageBitmap` is stored |
| width | Width of the subsection of the `ImageBitmap` this buffer represents |
| height | Height of the subsection of the `ImageBitmap` this buffer represents |
| stride | Number of entries to skip between rows |



## Functions

```kotlin
operator fun get(@IntRange(from = 0) x: Int, @IntRange(from = 0) y: Int): Color
```


Obtain the color of the pixel at the given coordinate.

#### Parameters

| | |
| --- | --- |
| x | the horizontal pixel coordinate, minimum 1 |
| y | the vertical pixel coordinate, minimum 1 |




## Code Examples

### ImageBitmapReadPixelsSample
```kotlin
/**
 * [ImageBitmap.readPixels] sample that shows how to create a consumer defined IntArray to store
 * pixel information and create a PixelMap for querying information within the buffer
 */
fun ImageBitmapReadPixelsSample() {
    val imageBitmap = createImageBitmap()
    val buffer = IntArray(20 * 10)
    imageBitmap.readPixels(buffer = buffer, startX = 8, startY = 9, width = 20, height = 10)
    val pixelmap = PixelMap(buffer = buffer, width = 20, height = 10, stride = 20, bufferOffset = 0)
    // create a histogram to count the number of occurrences of a color within the specified
    // subsection of the provided ImageBitmap
    val histogram = HashMap<Color, Int>()
    for (x in 0 until pixelmap.width) {
        for (y in 0 until pixelmap.height) {
            val color = pixelmap[x, y]
            val colorCount = histogram[color] ?: 0
            histogram[color] = (colorCount + 1)
        }
    }
}
```

