ImageWriter 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
ImageWriter 类允许应用程序将图像数据生成到其中 android.view.Surface
,并让其他组件(例如 android.hardware.camera2.CameraDevice CameraDevice
)使用它。
[Android.Runtime.Register("android/media/ImageWriter", ApiSince=23, DoNotGenerateAcw=true)]
public class ImageWriter : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("android/media/ImageWriter", ApiSince=23, DoNotGenerateAcw=true)>]
type ImageWriter = class
inherit Object
interface IAutoCloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 继承
- 属性
- 实现
注解
ImageWriter 类允许应用程序将图像数据生成到其中 android.view.Surface
,并让其他组件(例如 android.hardware.camera2.CameraDevice CameraDevice
)使用它。
多个 Android API 类可以为 ImageWriter 提供输入 android.view.Surface Surface
对象,以便将数据生成到( MediaCodec MediaCodec
编码器)、 android.hardware.camera2.CameraCaptureSession CameraCaptureSession
(重新处理输入) ImageReader
等中。
输入图像数据封装在对象中 Image
。 若要将图像数据生成到目标 android.view.Surface Surface
中,应用程序可以通过将图像数据写入其中来获取输入图像 #dequeueInputImage
。 可以同时取消排队多个此类 Image
对象,并按任意顺序排回队列,最多排入构造函数参数指定的 maxImages
数字。
如果应用程序已有映像, ImageReader
则应用程序可以直接将此映像排入 ImageWriter(通过 #queueInputImage
),可能具有零个缓冲区副本。 即使 ImageWriter 的图像格式是 ImageFormat#PRIVATE PRIVATE
,在 Android P 之前,将图像排入此类 ImageWriter 的唯一方法是执行此操作。 从 Android P 专用映像开始,也可以通过方法通过硬件缓冲区(可用时)访问 Image#getHardwareBuffer()
。 尝试访问专用映像的平面时,将返回一个空数组。
将新的输入映像排队到 ImageWriter 中后,由下游组件(例如 ImageReader
或 android.hardware.camera2.CameraDevice
)来使用图像。 如果下游组件不能至少使用与 ImageWriter 生产速率一样快的映像,则 #dequeueInputImage
调用最终将阻止,并且应用程序必须删除输入帧。
如果提供的使用者组件放弃输入android.view.Surface Surface
android.view.Surface Surface
,#queueInputImage queueing
或#dequeueInputImage dequeueing
Image
将引发 。IllegalStateException
适用于 . 的 android.media.ImageWriter
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
ImageWriter(IntPtr, JniHandleOwnership) |
ImageWriter 类允许应用程序将图像数据生成到其中 |
属性
Class |
返回此 |
DataSpace |
获取 ImageWriter 数据空间。 |
Format |
获取 ImageWriter 格式。 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
HardwareBufferFormat |
获取 ImageWriter hardwareBuffer 格式。 |
Height |
的高度 |
JniIdentityHashCode |
ImageWriter 类允许应用程序将图像数据生成到其中 |
JniPeerMembers |
ImageWriter 类允许应用程序将图像数据生成到其中 |
MaxImages |
可以同时从 ImageWriter 中取消排队的最大图像数(例如,使用 |
PeerReference |
ImageWriter 类允许应用程序将图像数据生成到其中 |
ThresholdClass |
ImageWriter 类允许应用程序将图像数据生成到其中 |
ThresholdType |
ImageWriter 类允许应用程序将图像数据生成到其中 |
Usage |
获取 ImageWriter 使用情况标志。 |
Width |
|
方法
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
Close() |
释放与此 ImageWriter 关联的所有资源。 |
DequeueInputImage() |
取消将应用程序的下一个可用输入映像排入队列以生成数据。 |
Dispose() |
ImageWriter 类允许应用程序将图像数据生成到其中 |
Dispose(Boolean) |
ImageWriter 类允许应用程序将图像数据生成到其中 |
Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
NewInstance(Surface, Int32) |
创建新的 ImageWriter。 |
NewInstance(Surface, Int32, ImageFormatType) |
使用给定数目的最大图像和格式创建新的 ImageWriter。 |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
QueueInputImage(Image) |
将输入 |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
SetOnImageReleasedListener(ImageWriter+IOnImageReleasedListener, Handler) |
注册在输入图像返回到 ImageWriter 时要调用的侦听器。 |
ToArray<T>() |
ImageWriter 类允许应用程序将图像数据生成到其中 |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
ImageWriter 类允许应用程序将图像数据生成到其中 |
Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<>< (继承自 Object) |
Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
IJavaPeerable.Disposed() |
ImageWriter 类允许应用程序将图像数据生成到其中 |
IJavaPeerable.DisposeUnlessReferenced() |
ImageWriter 类允许应用程序将图像数据生成到其中 |
IJavaPeerable.Finalized() |
ImageWriter 类允许应用程序将图像数据生成到其中 |
IJavaPeerable.JniManagedPeerState |
ImageWriter 类允许应用程序将图像数据生成到其中 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
ImageWriter 类允许应用程序将图像数据生成到其中 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
ImageWriter 类允许应用程序将图像数据生成到其中 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
ImageWriter 类允许应用程序将图像数据生成到其中 |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
ImageWriter 类允许应用程序将图像数据生成到其中 |
GetJniTypeName(IJavaPeerable) |
ImageWriter 类允许应用程序将图像数据生成到其中 |