Поделиться через


ImageFormat.Raw12 Поле

Определение

Внимание!

This constant will be removed in the future version. Use Android.Graphics.ImageFormatType enum directly instead of this field.

Необработанный формат Android 12-разрядного формата

[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

Значение поля

Value = 38
Атрибуты

Комментарии

Необработанный формат Android 12-разрядного формата

Это одноуровневый, 12-разрядный на пиксель, плотно упакованный (в каждой строке), необработанный формат, обычно представляющий необработанные изображения с шаблоном Bayer, поступающие от датчика изображения.

В буфере изображения с этим форматом, начиная с первого пикселя каждой строки, каждый из двух последовательных пикселей упакован в 3 байта (24 бита). Первый и второй байт содержат 8 битов первого и второго пикселей. Третий байт содержит 4 наименьших существенных бита двух пикселей, точные данные макета для каждого двух последовательных пикселей показаны ниже (Pi[j] обозначает jth-бит ith-пикселя):

<table>thead><tr th><align="center"></th><align="center">bit 7</<>th th align="center">bit 6</<>th th align="center">bit 5</<>th th align="center>"bit 4</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]</t 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<>><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>

В этом формате предполагается<, что ширина ul<>li кратна 4 пикселя</li>><li>даже высоты</li></ul>

size = row stride * height

где шаг строки находится в <>байтах</em>, а не в пикселях.

Так как это плотно упакованный формат, шаг пикселя всегда равен 0. Приложение должно использовать макет данных пикселей, определенный в приведенной выше таблице, для доступа к данным каждой строки. Если шаг строки равен width * (12 / 8), в конце каждой строки не будет заполнение байтов, все данные изображения плотно упакованы. Если шаг больше width * (12 / 8), заполнение байт будет присутствовать в конце каждой строки.

Например, android.media.Image объект может предоставлять данные в этом формате из android.hardware.camera2.CameraDevice (если поддерживается) через android.media.ImageReader объект. Возвращается android.media.Image#getPlanes() Image#getPlanes() одна плоскость, содержащая пиксельные данные. Шаг пикселя всегда равен 0 android.media.Image.Plane#getPixelStride()и android.media.Image.Plane#getRowStride() описывает вертикальное соседнее расстояние пикселей (в байтах) между смежными строками.

Документация по Java для android.graphics.ImageFormat.RAW12.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к