Result of a pixel read operation.
ImageBitmapReadPixelsSample
/**
* [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)
}
}
}