MultiResolutionImageReader Constructors
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
MultiResolutionImageReader(IntPtr, JniHandleOwnership) | |
MultiResolutionImageReader(ICollection<MultiResolutionStreamInfo>, Int32, Int32) |
Create a new multi-resolution reader based on a group of camera stream properties returned by a camera device. |
MultiResolutionImageReader(IntPtr, JniHandleOwnership)
protected MultiResolutionImageReader (IntPtr javaReference, Android.Runtime.JniHandleOwnership transfer);
new Android.Hardware.Camera2.MultiResolutionImageReader : nativeint * Android.Runtime.JniHandleOwnership -> Android.Hardware.Camera2.MultiResolutionImageReader
Parameters
- javaReference
-
IntPtr
nativeint
- transfer
- JniHandleOwnership
Applies to
MultiResolutionImageReader(ICollection<MultiResolutionStreamInfo>, Int32, Int32)
Create a new multi-resolution reader based on a group of camera stream properties returned by a camera device.
[Android.Runtime.Register(".ctor", "(Ljava/util/Collection;II)V", "", ApiSince=31)]
public MultiResolutionImageReader (System.Collections.Generic.ICollection<Android.Hardware.Camera2.Params.MultiResolutionStreamInfo> streams, int format, int maxImages);
[<Android.Runtime.Register(".ctor", "(Ljava/util/Collection;II)V", "", ApiSince=31)>]
new Android.Hardware.Camera2.MultiResolutionImageReader : System.Collections.Generic.ICollection<Android.Hardware.Camera2.Params.MultiResolutionStreamInfo> * int * int -> Android.Hardware.Camera2.MultiResolutionImageReader
Parameters
- streams
- ICollection<MultiResolutionStreamInfo>
The group of multi-resolution stream info, which is used to create a multi-resolution reader containing a number of ImageReader objects. Each ImageReader object represents a multi-resolution stream in the group.
- format
- Int32
The format of the Image that this multi-resolution reader will produce.
This must be one of the android.graphics.ImageFormat
or
android.graphics.PixelFormat
constants. Note that not all formats are
supported, like ImageFormat.NV21. The supported multi-resolution
reader format can be queried by android.hardware.camera2.params.MultiResolutionStreamConfigurationMap#getOutputFormats
.
- maxImages
- Int32
The maximum number of images the user will want to
access simultaneously. This should be as small as possible to
limit memory use. Once maxImages images are obtained by the
user from any given internal ImageReader, one of them has to be released before
a new Image will become available for access through the ImageReader's
ImageReader#acquireLatestImage()
or
ImageReader#acquireNextImage()
. Must be greater than 0.
- Attributes
Remarks
Create a new multi-resolution reader based on a group of camera stream properties returned by a camera device.
The valid size and formats depend on the camera characteristics. MultiResolutionImageReader
for an image format is supported by the camera device if the format is in the supported multi-resolution output stream formats returned by android.hardware.camera2.params.MultiResolutionStreamConfigurationMap#getOutputFormats
. If the image format is supported, the MultiResolutionImageReader
object can be created with the streams
objects returned by android.hardware.camera2.params.MultiResolutionStreamConfigurationMap#getOutputInfo
.
The maxImages
parameter determines the maximum number of Image
objects that can be acquired from each of the ImageReader
within the MultiResolutionImageReader
. However, requesting more buffers will use up more memory, so it is important to use only the minimum number necessary. The application is strongly recommended to acquire no more than maxImages
images from all of the internal ImageReader objects combined. By keeping track of the number of acquired images for the MultiResolutionImageReader, the application doesn't need to do the bookkeeping for each internal ImageReader returned from ImageReader.OnImageAvailableListener#onImageAvailable onImageAvailable
callback.
Unlike the normal ImageReader, the MultiResolutionImageReader has a more complex configuration sequence. Instead of passing the same surface to OutputConfiguration and CaptureRequest, the android.hardware.camera2.params.OutputConfiguration#createInstancesForMultiResolutionOutput
call needs to be used to create the OutputConfigurations for session creation, and then #getSurface
is used to get CaptureRequest.Builder#addTarget the target for CaptureRequest
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.