ImageFormat.Raw12 Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
This constant will be removed in the future version. Use Android.Graphics.ImageFormatType enum directly instead of this field.
Formato bruto de 12 bits do Android
[Android.Runtime.Register("RAW12", ApiSince=23)]
[System.Obsolete("This constant will be removed in the future version. Use Android.Graphics.ImageFormatType enum directly instead of this field.", true)]
public const Android.Graphics.ImageFormatType Raw12 = 38;
[<Android.Runtime.Register("RAW12", ApiSince=23)>]
[<System.Obsolete("This constant will be removed in the future version. Use Android.Graphics.ImageFormatType enum directly instead of this field.", true)>]
val mutable Raw12 : Android.Graphics.ImageFormatType
Valor do campo
Value = 38- Atributos
Comentários
Formato bruto de 12 bits do Android
Este é um formato de plano único, 12 bits por pixel, densamente compactado (em cada linha), não processado, geralmente representando imagens brutas de padrão Bayer provenientes de um sensor de imagem.
Em um buffer de imagem com esse formato, a partir do primeiro pixel de cada linha, cada dois pixels consecutivos são compactados em 3 bytes (24 bits). O primeiro e o segundo byte contêm os 8 bits superiores do primeiro e segundo pixel. O terceiro byte contém os 4 bits menos significativos dos dois pixels, os dados de layout exatos para cada dois pixels consecutivos são ilustrados abaixo (Pi[j] significa o j-ésimo bit do i-ésimo pixel):
<tabela>thead><tr<>th align="center"></th><th align="center">bit 7</th><th align="center">bit 6</th><th align="center">bit 5</th<>th align="center">bit 4</th><th align="center">bit 3</th><th align="center">bit 2</th><th align="center">bit 1</th><th align="center">bit 0</th><</Tr></thead><tbody><tr><td align="center">Byte 0:</td<>td align="center">P0[11]</td><td align="center">P0[10]</td<>td align="center">P0[ 9]</td><td align="center">P0[ 8]</td><td align="center">P0[ 7]</td<>td align="center">P0[ 6]</td<>td align="center">P0[ 5]</td><td align=" center">P0[ 4]</td<>/tr<>tr><td align="center">Byte 1:</td<>td align="center">P1[11]</td<>td align="center">P1[10]</td><td align="center">P1[ 9]</td<>td align="center">P1[ 8]</td><td align="center">P1[ 7]</td><td align="center">P1[ 6]</td><td align="center">P1[ 5]</td><td align="center">P1[ 4]</td></tr><tr<>td align="center">Byte 2:</td><td align="center">P1[ 3]</td><td align="center">P1[ 2]</td><td align="center">P1[ 1]</td<>td align="center">P1[ 0]</td><td align="center">P0[ 3]</td<>td align="center">P0[ 2]/< td><td align="center">P0[ 1]</td<>td align="center">P0[ 0]</td></tr></tbody></table>
Este formato assume <ul<>li>um múltiplo de largura de 4 pixels</li<>li>uma altura< par/li></ul>
size = row stride * height
onde a passada de linha está em <>bytes</em>, não em pixels.
Como este é um formato densamente compactado, a passada de pixel é sempre 0. O aplicativo deve usar o layout de dados de pixel definido na tabela acima para acessar os dados de cada linha. Quando a passada de linha é igual a width * (12 / 8)
, não haverá bytes de preenchimento no final de cada linha, os dados inteiros da imagem são densamente compactados. Quando a passada for maior que width * (12 / 8)
, os bytes de preenchimento estarão presentes no final de cada linha.
Por exemplo, o android.media.Image
objeto pode fornecer dados nesse formato de um android.hardware.camera2.CameraDevice
(se suportado) por meio de um android.media.ImageReader
objeto. O android.media.Image#getPlanes() Image#getPlanes()
retornará um único plano contendo os dados de pixel. A passada de pixels é sempre 0 em android.media.Image.Plane#getPixelStride()
, e a android.media.Image.Plane#getRowStride()
descreve a distância vertical de pixel vizinha (em bytes) entre linhas adjacentes.
Documentação Java para android.graphics.ImageFormat.RAW12
.
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.