Compartilhar via


ImageWriter Classe

Definição

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como 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
Herança
ImageWriter
Atributos
Implementações

Comentários

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

Várias classes de API do Android podem fornecer objetos de entrada android.view.Surface Surface para o ImageWriter produzir dados, incluindo MediaCodec MediaCodec (codificador), android.hardware.camera2.CameraCaptureSession CameraCaptureSession (entrada de reprocessamento), ImageReaderetc.

Os dados de imagem de entrada são encapsulados em Image objetos. Para produzir dados de imagem em um destino android.view.Surface Surface, o aplicativo pode obter uma imagem de entrada por meio de #dequeueInputImage gravação de dados de imagem nele. Vários desses Image objetos podem ser desenfileirados ao mesmo tempo e enfileirados de volta em qualquer ordem, até o número especificado pelo parâmetro do maxImages construtor.

Se o aplicativo já tiver uma Imagem do , o aplicativo poderá enfileirar diretamente essa Imagem no ImageWriter (via #queueInputImage), potencialmente com zero cópias de ImageReaderbuffer. Isso funciona mesmo se o formato de imagem do ImageWriter for ImageFormat#PRIVATE PRIVATE, e antes do Android P é a única maneira de enfileirar imagens em tal ImageWriter. A partir do Android P, imagens privadas também podem ser acessadas através de seus buffers de hardware (quando disponíveis) através do Image#getHardwareBuffer() método. A tentativa de acessar os planos de uma imagem privada retornará uma matriz vazia.

Depois que novas Imagens de entrada são enfileiradas em um ImageWriter, cabe aos componentes downstream (por exemplo, ou android.hardware.camera2.CameraDevice) consumir as Imagens. ImageReader Se os componentes downstream não puderem consumir as imagens pelo menos tão rápido quanto a taxa de produção do ImageWriter, a #dequeueInputImage chamada acabará sendo bloqueada e o aplicativo terá que descartar os quadros de entrada.

Se o componente de consumidor que forneceu a entrada android.view.Surface Surface abandonar o android.view.Surface Surface, #queueInputImage queueing ou #dequeueInputImage dequeueing um Image lançará um IllegalStateExceptionarquivo .

Documentação Java para android.media.ImageWriter.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Construtores

ImageWriter(IntPtr, JniHandleOwnership)

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

Propriedades

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
DataSpace

Obtenha o espaço de dados do ImageWriter.

Format

Obtenha o formato ImageWriter.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
HardwareBufferFormat

Obtenha o formato hardwareBuffer do ImageWriter.

Height

A altura de Image Images, em pixels.

JniIdentityHashCode

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
JniPeerMembers

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

MaxImages

Número máximo de imagens que podem ser desenfileiradas do ImageWriter simultaneamente (por exemplo, com #dequeueInputImage()).

PeerReference

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
ThresholdClass

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

ThresholdType

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

Usage

Obtenha o sinalizador de uso do ImageWriter.

Width

A largura de Image Images, em pixels.

Métodos

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Close()

Libere todos os recursos associados a este ImageWriter.

DequeueInputImage()

Descoloque na fila a próxima imagem de entrada disponível para o aplicativo produzir dados.

Dispose()

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
Dispose(Boolean)

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
Equals(Object)

Indica se algum outro objeto é "igual" a este.

(Herdado de Object)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
NewInstance(Surface, Int32)

Crie um novo ImageWriter.

NewInstance(Surface, Int32, ImageFormatType)

Crie um novo ImageWriter com determinado número máximo de imagens e formato.

Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
QueueInputImage(Image)

Enfileire uma entrada Image de volta ao ImageWriter para o consumidor downstream acessar.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
SetOnImageReleasedListener(ImageWriter+IOnImageReleasedListener, Handler)

Registre um ouvinte a ser chamado quando uma imagem de entrada for retornada ao ImageWriter.

ToArray<T>()

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

IJavaPeerable.Disposed()

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
IJavaPeerable.Finalized()

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

GetJniTypeName(IJavaPeerable)

A classe ImageWriter permite que um aplicativo produza dados de imagem em um android.view.Surface, e que eles sejam consumidos por outro componente, como android.hardware.camera2.CameraDevice CameraDevice.

Aplica-se a