PixelMap
class PixelMap
kotlin.Any | |
↳ | androidx.compose.ui.graphics.PixelMap |
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
import androidx.compose.ui.graphics.PixelMap 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) } }
Summary
Public constructors | |
---|---|
Result of a pixel read operation. |
Public methods | |
---|---|
operator Color |
Obtain the color of the pixel at the given coordinate |
Properties | |
---|---|
IntArray |
IntArray where pixel information is stored as an ARGB value packed into an Int |
Int |
first index in the buffer where pixel information for the ImageBitmap is stored |
Int |
Height of the subsection of the ImageBitmap this buffer represents |
Int |
Number of entries to skip between rows |
Int |
Width of the subsection of the ImageBitmap this buffer represents |
Public constructors
<init>
PixelMap(
buffer: IntArray,
width: Int,
height: Int,
bufferOffset: Int,
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
import androidx.compose.ui.graphics.PixelMap 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) } }
Parameters | |
---|---|
buffer: IntArray | IntArray where pixel information is stored as an ARGB value packed into an Int |
bufferOffset: Int | first index in the buffer where pixel information for the ImageBitmap is stored |
width: Int | Width of the subsection of the ImageBitmap this buffer represents |
height: Int | Height of the subsection of the ImageBitmap this buffer represents |
stride: Int | Number of entries to skip between rows |
Public methods
get
operator fun get(
@IntRange(0) x: Int,
@IntRange(0) y: Int
): Color
Obtain the color of the pixel at the given coordinate
Properties
buffer
val buffer: IntArray
IntArray where pixel information is stored as an ARGB value packed into an Int
bufferOffset
val bufferOffset: Int
first index in the buffer where pixel information for the ImageBitmap is stored