Stay organized with collections
Save and categorize content based on your preferences.
Builder
class Builder
Builder class for ImageWriter
objects.
Summary
Public constructors |
Constructs a new builder for ImageWriter .
|
Public constructors
Builder
Builder(surface: Surface)
Constructs a new builder for ImageWriter
.
Parameters |
surface |
Surface: The destination Surface this writer produces Image data into. This value cannot be null . |
Exceptions |
java.lang.IllegalArgumentException |
if the surface is already abandoned. |
Public methods
build
fun build(): ImageWriter
Builds a new ImageWriter object.
Return |
ImageWriter |
The new ImageWriter object. This value cannot be null . |
setDataSpace
fun setDataSpace(dataSpace: Int): ImageWriter.Builder
Set the dataspace of this ImageWriter. The default value is DataSpace.DATASPACE_UNKNOWN
.
Parameters |
dataSpace |
Int: The dataspace of the image that this writer will produce. Value is either 0 or a combination of android.hardware.DataSpace#DATASPACE_DEPTH , android.hardware.DataSpace#DATASPACE_DYNAMIC_DEPTH , android.hardware.DataSpace#DATASPACE_HEIF , android.hardware.DataSpace#DATASPACE_HEIF_ULTRAHDR , android.hardware.DataSpace#DATASPACE_JPEG_R , android.hardware.DataSpace#DATASPACE_UNKNOWN , android.hardware.DataSpace#DATASPACE_SCRGB_LINEAR , android.hardware.DataSpace#DATASPACE_SRGB , android.hardware.DataSpace#DATASPACE_SCRGB , android.hardware.DataSpace#DATASPACE_DISPLAY_P3 , android.hardware.DataSpace#DATASPACE_BT2020_HLG , android.hardware.DataSpace#DATASPACE_BT2020_PQ , android.hardware.DataSpace#DATASPACE_ADOBE_RGB , android.hardware.DataSpace#DATASPACE_JFIF , android.hardware.DataSpace#DATASPACE_BT601_625 , android.hardware.DataSpace#DATASPACE_BT601_525 , android.hardware.DataSpace#DATASPACE_BT2020 , android.hardware.DataSpace#DATASPACE_BT709 , android.hardware.DataSpace#DATASPACE_DCI_P3 , android.hardware.DataSpace#DATASPACE_SRGB_LINEAR , and android.hardware.DataSpace.DATASPACE_DISPLAY_BT2020 |
Return |
ImageWriter.Builder |
the builder instance with customized dataspace value. This value cannot be null . |
fun setHardwareBufferFormat(hardwareBufferFormat: Int): ImageWriter.Builder
Set the hardwareBuffer format of this ImageWriter. The default value is HardwareBuffer.RGBA_8888
.
This function works together with setDataSpace
for an ImageWriter
instance. Setting at least one of these two replaces setImageFormat
function.
Parameters |
hardwareBufferFormat |
Int: The HardwareBuffer format of the image that this writer will produce. Value is android.hardware.HardwareBuffer#RGBA_8888 , android.hardware.HardwareBuffer#RGBA_FP16 , android.hardware.HardwareBuffer#RGBA_1010102 , android.hardware.HardwareBuffer#RGBX_8888 , android.hardware.HardwareBuffer#RGB_888 , android.hardware.HardwareBuffer#RGB_565 , android.hardware.HardwareBuffer#BLOB , android.hardware.HardwareBuffer#YCBCR_420_888 , android.hardware.HardwareBuffer#D_16 , android.hardware.HardwareBuffer#D_24 , android.hardware.HardwareBuffer#DS_24UI8 , android.hardware.HardwareBuffer#D_FP32 , android.hardware.HardwareBuffer#DS_FP32UI8 , android.hardware.HardwareBuffer#S_UI8 , android.hardware.HardwareBuffer#YCBCR_P010 , android.hardware.HardwareBuffer#YCBCR_P210 , android.hardware.HardwareBuffer#R_8 , android.hardware.HardwareBuffer#R_16 , android.hardware.HardwareBuffer#RG_1616 , android.hardware.HardwareBuffer#RGBA_10101010 , android.hardware.HardwareBuffer.R_12, android.hardware.HardwareBuffer.R_14, android.hardware.HardwareBuffer.RG_1212, android.hardware.HardwareBuffer.RG_1414, android.hardware.HardwareBuffer.RGBA_12121212, android.hardware.HardwareBuffer.RGBA_14141414, or android.hardware.HardwareBuffer.BGRA_1010102 |
Return |
ImageWriter.Builder |
the Builder instance with customized buffer format. This value cannot be null . |
fun setImageFormat(imageFormat: Int): ImageWriter.Builder
Set the image format of this ImageWriter. Default format depends on the Surface provided.
Parameters |
imageFormat |
Int: The format of the ImageWriter . It can be any valid specified by ImageFormat or PixelFormat . Value is android.graphics.ImageFormat#UNKNOWN , android.graphics.PixelFormat#RGBA_8888 , android.graphics.PixelFormat#RGBX_8888 , android.graphics.PixelFormat#RGB_888 , android.graphics.ImageFormat#RGB_565 , android.graphics.ImageFormat#YV12 , android.graphics.ImageFormat#Y8 , android.graphics.ImageFormat.Y16, android.graphics.ImageFormat#YCBCR_P010 , android.graphics.ImageFormat#YCBCR_P210 , android.graphics.ImageFormat#NV16 , android.graphics.ImageFormat#NV21 , android.graphics.ImageFormat#YUY2 , android.graphics.ImageFormat#JPEG , android.graphics.ImageFormat#DEPTH_JPEG , android.graphics.ImageFormat#YUV_420_888 , android.graphics.ImageFormat#YUV_422_888 , android.graphics.ImageFormat#YUV_444_888 , android.graphics.ImageFormat#FLEX_RGB_888 , android.graphics.ImageFormat#FLEX_RGBA_8888 , android.graphics.ImageFormat#RAW_SENSOR , android.graphics.ImageFormat#RAW_PRIVATE , android.graphics.ImageFormat#RAW10 , android.graphics.ImageFormat#RAW12 , android.graphics.ImageFormat#DEPTH16 , android.graphics.ImageFormat#DEPTH_POINT_CLOUD , android.graphics.ImageFormat.RAW_DEPTH, android.graphics.ImageFormat.RAW_DEPTH10, android.graphics.ImageFormat#PRIVATE , android.graphics.ImageFormat#HEIC , android.graphics.ImageFormat#HEIC_ULTRAHDR , or android.graphics.ImageFormat#JPEG_R |
Return |
ImageWriter.Builder |
the Builder instance with customized image format. This value cannot be null . |
Exceptions |
java.lang.IllegalArgumentException |
if imageFormat is invalid. |
setMaxImages
fun setMaxImages(maxImages: Int): ImageWriter.Builder
Set the maximum number of images. Default value is 1.
Parameters |
maxImages |
Int: The maximum number of Images the user will want to access simultaneously for producing Image data. Value is 1 or greater |
Return |
ImageWriter.Builder |
the Builder instance with customized usage value. This value cannot be null . |
setUsage
fun setUsage(usage: Long): ImageWriter.Builder
Set the usage flag of this ImageWriter.
If this function is not called, usage bit will be set to HardwareBuffer.USAGE_CPU_WRITE_OFTEN
if the image format is not PRIVATE
.
Parameters |
usage |
Long: The intended usage of the images produced by this ImageWriter. Value is either 0 or a combination of android.hardware.HardwareBuffer#USAGE_CPU_READ_RARELY , android.hardware.HardwareBuffer#USAGE_CPU_READ_OFTEN , android.hardware.HardwareBuffer#USAGE_CPU_WRITE_RARELY , android.hardware.HardwareBuffer#USAGE_CPU_WRITE_OFTEN , android.hardware.HardwareBuffer#USAGE_GPU_SAMPLED_IMAGE , android.hardware.HardwareBuffer#USAGE_GPU_COLOR_OUTPUT , android.hardware.HardwareBuffer#USAGE_COMPOSER_OVERLAY , android.hardware.HardwareBuffer#USAGE_PROTECTED_CONTENT , android.hardware.HardwareBuffer#USAGE_VIDEO_ENCODE , android.hardware.HardwareBuffer#USAGE_GPU_DATA_BUFFER , android.hardware.HardwareBuffer#USAGE_SENSOR_DIRECT_DATA , android.hardware.HardwareBuffer#USAGE_GPU_CUBE_MAP , android.hardware.HardwareBuffer#USAGE_GPU_MIPMAP_COMPLETE , and android.hardware.HardwareBuffer#USAGE_FRONT_BUFFER |
Return |
ImageWriter.Builder |
the Builder instance with customized usage flag. This value cannot be null . |
setWidthAndHeight
fun setWidthAndHeight(
width: Int,
height: Int
): ImageWriter.Builder
Set the width and height of images. Default size is dependent on the Surface that is provided by the downstream end-point.
Parameters |
width |
Int: The width in pixels that will be passed to the producer. Value is 1 or greater |
height |
Int: The height in pixels that will be passed to the producer. Value is 1 or greater |
Return |
ImageWriter.Builder |
the Builder instance with customized width and height. This value cannot be null . |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-20 UTC."],[],[]]