Bạn đang xem : thay đổi định dạng ảnh trên android

ImageFormat

Kotlin

|

Java


công cộng

lớp
Định dạng hình ảnh


mở rộng Đối tượng


Tóm tắt

Hằng số

int
DEPTH16

Định dạng hình ảnh có độ sâu dày đặc của Android.

int
DEPTH_JPEG

Định dạng JPEG nén được tăng cường độ sâu.

int
DEPTH_POINT_CLOUD

Định dạng đám mây điểm độ sâu thưa thớt của Android.

int
FLEX_RGBA_8888

Định dạng RGBA của Android nhiều mặt phẳng

Định dạng này là định dạng RGBA chung, có khả năng mô tả hầu hết các định dạng RGBA,
với 8 bit cho mỗi mẫu màu.

int
FLEX_RGB_888

Định dạng RGB Android nhiều mặt phẳng

Định dạng này là định dạng RGB chung, có khả năng mô tả hầu hết các định dạng RGB,
với 8 bit cho mỗi mẫu màu.

int
HEIC

Định dạng HEIC được nén.

int
JPEG

Định dạng JPEG được nén.

int
NV16

Định dạng YCbCr, được sử dụng cho video.

int
NV21

Định dạng YCrCb được sử dụng cho hình ảnh, sử dụng định dạng mã hóa NV21.

int
RIÊNG TƯ

Định dạng hình ảnh không rõ ràng riêng tư của Android.

int
RAW10

Định dạng thô 10 bit của Android

Đây là một mặt phẳng duy nhất, 10 bit mỗi pixel, được đóng gói dày đặc (trong mỗi hàng),
định dạng chưa qua xử lý, thường đại diện cho hình ảnh dạng Bayer thô sắp tới
từ cảm biến hình ảnh.

int
RAW12

Định dạng thô 12-bit của Android

Đây là một mặt phẳng duy nhất, 12 bit trên mỗi pixel, được đóng gói dày đặc (trong mỗi hàng),
định dạng chưa qua xử lý, thường đại diện cho hình ảnh dạng Bayer thô sắp tới
từ cảm biến hình ảnh.

int
RAW_PRIVATE

Định dạng hình ảnh cảm biến máy ảnh thô riêng, một hình ảnh kênh đơn với
bố trí pixel phụ thuộc triển khai.

int
RAW_SENSOR

Định dạng hình ảnh cảm biến máy ảnh thô chung, thường đại diện cho
hình ảnh khảm Bayer đơn kênh.

int
RGB_565

Định dạng RGB được sử dụng cho ảnh được mã hóa dưới dạng RGB_565.

int
CHƯA BIẾT

int
Y8

Định dạng Android Y8.

int
YCBCR_P010

Định dạng Android YUV P010.

int
YUV_420_888

Định dạng Android YUV 420 nhiều mặt phẳng

Định dạng này là định dạng YCbCr chung, có khả năng mô tả bất kỳ 4: 2: 0 nào
đệm phẳng hoặc đệm bán phẳng được lấy mẫu màu sắc (nhưng không xen kẽ hoàn toàn),
với 8 bit cho mỗi mẫu màu.

int
YUV_422_888

Định dạng Android YUV 422 nhiều mặt phẳng

Định dạng này là định dạng YCbCr chung, có khả năng mô tả bất kỳ 4: 2: 2 nào
định dạng chroma-subsampled (phẳng, bán phẳng hoặc xen kẽ),
với 8 bit cho mỗi mẫu màu.

int
YUV_444_888

Định dạng Android YUV 444 nhiều mặt phẳng

Định dạng này là định dạng YCbCr chung, có khả năng mô tả bất kỳ 4: 4: 4 nào
(phẳng, bán phẳng hoặc xen kẽ),
với 8 bit cho mỗi mẫu màu.

int
YUY2

Định dạng YCbCr được sử dụng cho hình ảnh, sử dụng định dạng mã hóa YUYV (YUY2).

int
YV12

Định dạng Android YUV.

Các hàm tạo công khai


ImageFormat ()

Phương thức công khai

tĩnh

int

getBitsPerPixel (định dạng int)

Sử dụng hàm này để truy xuất số bit trên mỗi pixel của một
Định dạng hình ảnh.

Các phương thức kế thừa


java.lang.Object

Từ lớp học



Đối tượng

bản sao ()

Tạo và trả về bản sao của đối tượng này.

boolean

bằng ( Đối tượng obj)

Cho biết liệu một số đối tượng khác có “bằng” đối tượng này hay không.

vô hiệu

hoàn thiện ()

Được gọi bởi bộ thu gom rác trên một đối tượng khi thu gom rác
xác định rằng không còn tham chiếu đến đối tượng.

cuối cùng

Lớp & lt;? & gt;

getClass ()

Trả về lớp thời gian chạy của Đối tượng này.

int

Mã băm ()

Trả về giá trị mã băm cho đối tượng.

cuối cùng

vô hiệu

thông báo ()

Đánh thức một chuỗi đơn đang chờ trên đối tượng này
màn hình.

cuối cùng

vô hiệu

thông báoAll ()

Đánh thức tất cả các chuỗi đang chờ trên màn hình của đối tượng này.


Chuỗi

toString ()

Trả về biểu diễn chuỗi của đối tượng.

cuối cùng

vô hiệu

đợi (thời gian chờ lâu, int nanos)

Làm cho chuỗi hiện tại đợi cho đến khi một chuỗi khác gọi ra
opens () hoặc phương thức
Phương thức allowAll () cho đối tượng này hoặc
một số luồng khác làm gián đoạn luồng hiện tại hoặc một số
thời gian thực đã trôi qua.

cuối cùng

vô hiệu

đợi (thời gian chờ đã lâu)

Làm cho chuỗi hiện tại đợi cho đến khi một chuỗi khác gọi ra
opens () hoặc phương thức
allowAll () phương thức cho đối tượng này hoặc một
khoảng thời gian cụ thể đã trôi qua.

cuối cùng

vô hiệu

đợi ()

Làm cho chuỗi hiện tại đợi cho đến khi một chuỗi khác gọi ra
opens () hoặc phương thức
allowAll () phương thức cho đối tượng này.

Hằng số

DEPTH16

Đã được thêm vào API cấp 23

public static final int DEPTH16 

Định dạng hình ảnh có độ sâu dày đặc của Android.

Mỗi pixel là 16 bit, đại diện cho phép đo độ sâu khác nhau từ máy ảnh độ sâu hoặc
cảm biến tương tự. Mẫu 16 bit bao gồm giá trị tin cậy và phạm vi thực tế
đo lường.

Giá trị tin cậy là ước tính về độ đúng cho mẫu này. Nó được mã hóa trong
3 bit quan trọng nhất của mẫu, với giá trị 0 thể hiện độ tin cậy 100%,
giá trị 1 đại diện cho độ tin cậy 0%, giá trị 2 đại diện cho 1/7, giá trị 3
đại diện cho 2/7, v.v.

Ví dụ: mẫu sau đây trích xuất phạm vi và độ tin cậy từ pixel đầu tiên
có định dạng DEPTH16 Hình ảnh và chuyển đổi độ tin cậy thành
giá trị dấu phẩy động từ 0 đến 1.f, với 1.f đại diện cho độ tin cậy tối đa:

    ShortBuffer shortDepthBuffer = img.getPlanes () [0] .getBuffer (). AsShortBuffer ();
    short depthSample = shortDepthBuffer.get ()
    short depthRange = (short) (depthSample & amp; 0x1FFF);
    short depthConfidence = (short) ((depthSample & gt; & gt; 13) & amp; 0x7);
    float heightPercentage = depthConfidence == 0? 1.f: (depthConfidence - 1) / 7.f;
 

Định dạng này giả định

  • chiều rộng chẵn
  • chiều cao đồng đều
  • bội số sải ngang của 16 pixel
 y_size = stride * height 

Khi được sản xuất bởi máy ảnh, các đơn vị cho phạm vi là milimét.

Khi được sản xuất bởi máy ảnh, các đơn vị cho phạm vi là milimét.

Giá trị không đổi:

1144402265
(0x44363159)

DEPTH_JPEG

Đã được thêm vào API cấp 29

public static final int DEPTH_JPEG 

Định dạng JPEG nén được tăng cường độ sâu.

Hình ảnh chính được nén JPEG cùng với siêu dữ liệu độ sâu được nhúng XMP
tuân theo ISO 16684-1: 2011 (E).

Giá trị Không đổi:

1768253795
(0x69656963)

DEPTH_POINT_CLOUD

Đã được thêm vào API cấp 23

public static final int DEPTH_POINT_CLOUD 

Định dạng đám mây điểm độ sâu thưa thớt của Android.

Danh sách các điểm 3D có độ dài thay đổi cộng với giá trị tin cậy, với mỗi điểm được biểu thị
bằng bốn phao; đầu tiên là tọa độ vị trí X, Y, Z, sau đó là giá trị tin cậy.

Số điểm là (kích thước của bộ đệm tính bằng byte) / 16 .

Hệ tọa độ và đơn vị của các giá trị vị trí phụ thuộc vào nguồn của điểm
dữ liệu đám mây. Giá trị tin cậy nằm trong khoảng từ 0.f đến 1.f, bao gồm, với 0 đại diện cho 0%
độ tin cậy và 1.f đại diện cho độ tin cậy 100% vào các giá trị vị trí đo được.

Ví dụ: đoạn mã sau trích xuất điểm độ sâu đầu tiên trong DEPTH_POINT_CLOUD
định dạng Hình ảnh :

    FloatBuffer floatDepthBuffer = img.getPlanes () [0] .getBuffer (). AsFloatBuffer ();
    float x = floatDepthBuffer.get ();
    float y = floatDepthBuffer.get ();
    float z = floatDepthBuffer.get ();
    float trust = floatDepthBuffer.get ();
 

Đối với các thiết bị máy ảnh hỗ trợ
DEPTH_OUTPUT
khả năng, tọa độ DEPTH_POINT_CLOUD có đơn vị là mét và hệ tọa độ là
được xác định bởi các biến đổi tư thế của máy ảnh:
CameraCharacteristics.LENS_POSE_TRANSLATION
CameraCharacteristics.LENS_POSE_ROTATION . Điều đó có nghĩa là nguồn gốc là
trung tâm quang học của thiết bị máy ảnh và trục Z dương hướng dọc theo trục quang học của máy ảnh,
về phía hiện trường.

Đối với các thiết bị máy ảnh hỗ trợ tính năng này, tọa độ DEPTH_POINT_CLOUD có đơn vị là mét và hệ tọa độ được xác định bởi các phép biến đổi tư thế của máy ảnh: và. Điều đó có nghĩa là điểm gốc là tâm quang học của thiết bị máy ảnh và trục Z dương hướng dọc theo trục quang học của máy ảnh về phía cảnh.

Giá trị không đổi:

257
(0x00000101)

FLEX_RGBA_8888

Đã được thêm vào API cấp 23

public static final int FLEX_RGBA_8888 

Định dạng RGBA của Android nhiều mặt phẳng

Định dạng này là định dạng RGBA chung, có khả năng mô tả hầu hết các định dạng RGBA,
với 8 bit cho mỗi mẫu màu.

Hình ảnh ở định dạng này luôn được biểu thị bằng bốn vùng đệm riêng biệt
dữ liệu, một cho mỗi mặt phẳng màu. Thông tin bổ sung luôn
đi kèm với bộ đệm, mô tả sải chân hàng và sải chân pixel
cho mỗi máy bay.

Thứ tự các mặt phẳng trong mảng được trả về bởi
Image # getPlanes () được đảm bảo rằng
mặt phẳng # 0 luôn là R (đỏ), mặt phẳng # 1 luôn là G (xanh lục), mặt phẳng # 2 luôn là B (xanh lam),
và mặt phẳng # 3 luôn là A (alpha). Định dạng này có thể đại diện cho số nhân trước hoặc
alpha không được tạo trước.

Tất cả bốn mặt phẳng đều được đảm bảo có cùng bước tiến hàng và bước pixel.

Ví dụ: đối tượng Hình ảnh có thể cung cấp dữ liệu
ở định dạng này từ MediaCodec
thông qua đối tượng MediaCodec.getOutputImage (int) .

Xem thêm:

  • Hình ảnh
  • MediaCodec

Giá trị Không đổi:

42
(0x0000002a)

FLEX_RGB_888

Đã thêm vào API cấp 23

public static final int FLEX_RGB_888 

Định dạng RGB Android nhiều mặt phẳng

Định dạng này là định dạng RGB chung, có khả năng mô tả hầu hết các định dạng RGB,
với 8 bit cho mỗi mẫu màu.

Hình ảnh ở định dạng này luôn được biểu thị bằng ba vùng đệm riêng biệt
dữ liệu, một cho mỗi mặt phẳng màu. Thông tin bổ sung luôn
đi kèm với bộ đệm, mô tả sải chân hàng và sải chân pixel
cho mỗi máy bay.

Thứ tự các mặt phẳng trong mảng được trả về bởi
Image # getPlanes () được đảm bảo rằng
mặt phẳng # 0 luôn là R (đỏ), mặt phẳng # 1 luôn là G (xanh lục) và mặt phẳng # 2 luôn là B
(xanh lam).

Cả ba mặt phẳng đều được đảm bảo có cùng bước tiến hàng và bước tiến pixel.

Ví dụ: đối tượng Hình ảnh có thể cung cấp dữ liệu
ở định dạng này từ MediaCodec
thông qua đối tượng MediaCodec.getOutputImage (int) .

Xem thêm:

  • Hình ảnh
  • MediaCodec

Giá trị Không đổi:

41
(0x00000029)

HEIC

Đã được thêm vào API cấp 29

public static final int HEIC 

Định dạng HEIC được nén.

Định dạng này xác định thương hiệu HEIC của Tệp Hình ảnh Hiệu quả Cao
Định dạng như được mô tả trong ISO / IEC 23008-12.

Giá trị Không đổi:

1212500294
(0x48454946)

JPEG

Đã được thêm vào API cấp 8

public static final int JPEG 

Định dạng JPEG được nén.

Định dạng này luôn được hỗ trợ làm định dạng đầu ra cho
android.hardware.camera2 API và dưới dạng định dạng hình ảnh cho phiên bản cũ hơn
Máy ảnh API

Giá trị Không đổi:

256
(0x00000100)

NV16

Đã được thêm vào API cấp 8

public static final int NV16 

Định dạng YCbCr, được sử dụng cho video.

Đối với API android.hardware.camera2 , YUV_420_888
được đề xuất cho đầu ra YUV thay thế.

Liệu định dạng này có được hỗ trợ bởi API máy ảnh cũ hay không có thể được xác định bởi
Camera.Parameters.getSupportedPreviewFormats () .

Giá trị Không đổi:

16
(0x00000010)

NV21

Đã được thêm vào API cấp 8

public static final int NV21 

Định dạng YCrCb được sử dụng cho hình ảnh, sử dụng định dạng mã hóa NV21.

Đây là định dạng mặc định
cho Máy ảnh hình ảnh xem trước, khi không được đặt bằng
Camera.Parameters.setPreviewFormat (int) .

Đối với API android.hardware.camera2 , YUV_420_888 định dạng là
được đề xuất cho đầu ra YUV thay thế.

Giá trị Không đổi:

17
(0x00000011)

RIÊNG TƯ

Đã được thêm vào API cấp 23

public static final int PRIVATE 

Định dạng hình ảnh không rõ ràng riêng tư của Android.

Các lựa chọn về định dạng thực tế và bố cục dữ liệu pixel hoàn toàn tùy thuộc vào
triển khai nội bộ khung và cụ thể cho thiết bị, và có thể khác nhau
tùy thuộc vào các trường hợp sử dụng ngay cả đối với cùng một thiết bị. Bộ đệm của điều này
định dạng có thể được tạo ra bởi các thành phần như
ImageWriter và được diễn giải chính xác
bởi những người tiêu dùng như CameraDevice dựa trên thông tin cá nhân của thiết bị / khung. Tuy nhiên,
các bộ đệm này không thể truy cập trực tiếp vào ứng dụng.

Khi Hình ảnh có định dạng này được lấy từ
một ImageReader hoặc
ImageWriter ,
getPlanes () phương thức sẽ trả về một
mảng Mặt phẳng trống.

Nếu bộ đệm của định dạng này được sử dụng làm kết cấu OpenGL ES, thì
framework sẽ giả định rằng việc lấy mẫu kết cấu sẽ luôn trả về
giá trị alpha là 1,0 (tức là bộ đệm chỉ chứa các giá trị pixel không trong suốt).

Giá trị Không đổi:

34
(0x00000022)

RAW10

Đã thêm vào API cấp 21

public static final int RAW10 

Định dạng thô 10 bit của Android

Đây là một mặt phẳng duy nhất, 10 bit mỗi pixel, được đóng gói dày đặc (trong mỗi hàng),
định dạng chưa qua xử lý, thường đại diện cho hình ảnh dạng Bayer thô sắp tới
từ cảm biến hình ảnh.

Trong bộ đệm hình ảnh có định dạng này, bắt đầu từ pixel đầu tiên của
mỗi hàng, mỗi 4 pixel liên tiếp được đóng gói thành 5 byte (40 bit).
Mỗi một trong 4 byte đầu tiên chứa 8 bit trên cùng của mỗi pixel,
byte thứ năm chứa 2 bit ít quan trọng nhất trong số 4 pixel,
dữ liệu bố cục chính xác cho mỗi 4 pixel liên tiếp được minh họa bên dưới
( Pi [j] là viết tắt của bit thứ j của pixel thứ i):

bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0

Byte 0:
P0 [9]
P0 [8]
P0 [7]
P0 [6]
P0 [5]
P0 [4]
P0 [3]
P0 [2]

Byte 1:
P1 [9]
P1 [8]
P1 [7]
P1 [6]
P1 [5]
P1 [4]
P1 [3]
P1 [2]

Byte 2:
P2 [9]
P2 [8]
P2 [7]
P2 [6]
P2 [5]
P2 [4]
P2 [3]
P2 [2]

Byte 3:
P3 [9]
P3 [8]
P3 [7]
P3 [6]
P3 [5]
P3 [4]
P3 [3]
P3 [2]

Byte 4:
P3 [1]
P3 [0]
P2 [1]
P2 [0]
P1 [1]
P1 [0]
P0 [1]
P0 [0]

Định dạng này giả định

  • bội số chiều rộng của 4 pixel
  • chiều cao đồng đều
 size = row stride * height 

trong đó sải chân của hàng tính bằng byte,
không phải pixel.

trong đó sải chân của hàng được tính bằng byte, không phải pixel.

Vì đây là một định dạng được đóng gói dày đặc, nên độ phân giải pixel luôn bằng 0.
ứng dụng phải sử dụng bố cục dữ liệu pixel được xác định trong bảng trên để
truy cập dữ liệu từng hàng. Khi sải chân của hàng bằng width * (10/8) , thì ở đó
sẽ không có byte đệm ở cuối mỗi hàng, toàn bộ dữ liệu hình ảnh là
đóng gói dày đặc. Khi sải chân lớn hơn width * (10/8) , padding
byte sẽ hiện diện ở cuối mỗi hàng.

Ví dụ: đối tượng Hình ảnh có thể cung cấp dữ liệu trong
định dạng này từ CameraDevice (nếu
được hỗ trợ) thông qua đối tượng ImageReader . Các
Image # getPlanes () sẽ trả về
một mặt phẳng chứa dữ liệu pixel. Sải chân pixel luôn là 0 in
Image.Plane.getPixelStride ()
Image.Plane.getRowStride () mô tả ngành dọc
khoảng cách pixel lân cận (tính bằng byte) giữa các hàng liền kề.

Xem thêm:

  • Hình ảnh
  • ImageReader
  • CameraDevice

Giá trị Không đổi:

37
(0x00000025)

RAW12

Đã được thêm vào API cấp 23

public static final int RAW12 

Định dạng thô 12-bit của Android

Đây là một mặt phẳng duy nhất, 12 bit trên mỗi pixel, được đóng gói dày đặc (trong mỗi hàng),
định dạng chưa qua xử lý, thường đại diện cho hình ảnh dạng Bayer thô sắp tới
từ cảm biến hình ảnh.

Trong bộ đệm hình ảnh có định dạng này, bắt đầu từ pixel đầu tiên của mỗi
hàng, mỗi hai pixel liên tiếp được đóng gói thành 3 byte (24 bit). Người đầu tiên
và byte thứ hai chứa 8 bit trên cùng của pixel thứ nhất và thứ hai. Thứ ba
byte chứa 4 bit quan trọng nhất trong số hai pixel, bố cục chính xác
dữ liệu cho mỗi hai pixel liên tiếp được minh họa bên dưới (Pi [j] là viết tắt của
bit thứ j của pixel thứ i):

bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0

Byte 0:
P0 [11]
P0 [10]
P0 [9]
P0 [8]
P0 [7]
P0 [6]
P0 [5]
P0 [4]

Byte 1:
P1 [11]
P1 [10]
P1 [9]
P1 [8]
P1 [7]
P1 [6]
P1 [5]
P1 [4]

Byte 2:
P1 [3]
P1 [2]
P1 [1]
P1 [0]
P0 [3]
P0 [2]
P0 [1]
P0 [0]

Định dạng này giả định

  • bội số chiều rộng của 4 pixel
  • chiều cao đồng đều
 size = row stride * height 

trong đó sải chân của hàng tính bằng byte,
không phải pixel.

trong đó sải chân của hàng được tính bằng byte, không phải pixel.

Vì đây là một định dạng được đóng gói dày đặc, nên độ phân giải pixel luôn bằng 0.
ứng dụng phải sử dụng bố cục dữ liệu pixel được xác định trong bảng trên để
truy cập dữ liệu từng hàng. Khi sải chân của hàng bằng width * (12/8) , thì ở đó
sẽ không có byte đệm ở cuối mỗi hàng, toàn bộ dữ liệu hình ảnh là
đóng gói dày đặc. Khi sải chân lớn hơn width * (12/8) , padding
byte sẽ hiện diện ở cuối mỗi hàng.

Ví dụ: đối tượng Hình ảnh có thể cung cấp dữ liệu trong
định dạng này từ CameraDevice (nếu
được hỗ trợ) thông qua đối tượng ImageReader . Các
Image # getPlanes () sẽ trả về
một mặt phẳng chứa dữ liệu pixel. Sải chân pixel luôn là 0 in
Image.Plane.getPixelStride ()
Image.Plane.getRowStride () mô tả ngành dọc
khoảng cách pixel lân cận (tính bằng byte) giữa các hàng liền kề.

Xem thêm:

  • Hình ảnh
  • ImageReader
  • CameraDevice

Giá trị Không đổi:

38
(0x00000026)

RAW_PRIVATE

Đã được thêm vào API cấp 24

public static final int RAW_PRIVATE 

Định dạng hình ảnh cảm biến máy ảnh thô riêng, một hình ảnh kênh đơn với
bố cục pixel phụ thuộc vào việc triển khai.

RAW_PRIVATE là một định dạng cho bộ đệm hình ảnh thô chưa được xử lý đến từ một
cảm biến ảnh. Cấu trúc thực tế của bộ đệm của định dạng này là
phụ thuộc vào việc triển khai.

Giá trị Không đổi:

36
(0x00000024)

RAW_SENSOR

Đã thêm vào API cấp 21

public static final int RAW_SENSOR 

Định dạng hình ảnh cảm biến máy ảnh thô chung, thường đại diện cho
hình ảnh khảm Bayer đơn kênh. Mỗi mẫu màu pixel được lưu trữ với
16 bit chính xác.

Bố cục của tranh khảm màu, mã hóa tối đa và tối thiểu
các giá trị của dữ liệu pixel thô, không gian màu của hình ảnh và tất cả các giá trị khác
thông tin cần thiết để diễn giải một hình ảnh cảm biến thô phải được truy vấn từ
CameraDevice đã tạo ra
hình ảnh.

Giá trị Không đổi:

32
(0x00000020)

RGB_565

Đã được thêm vào API cấp 8

public static final int RGB_565 

Định dạng RGB được sử dụng cho ảnh được mã hóa dưới dạng RGB_565. Nhìn thấy
Camera.Parameters.setPictureFormat (int) .

Giá trị Không đổi:

4
(0x00000004)

UNKNOWN

Đã được thêm vào API cấp 8

public static final int UNKNOWN 

Giá trị Không đổi:

0
(0x00000000)

Y8

Đã được thêm vào API cấp 29

public static final int Y8 

Định dạng Android Y8.

Y8 là định dạng phẳng YUV chỉ bao gồm mặt phẳng WxH Y, với mỗi pixel
được biểu diễn bằng 8 bit. Nó chỉ tương đương với mặt phẳng Y từ YV12
định dạng.

Định dạng này giả định

  • chiều rộng chẵn
  • chiều cao đồng đều
  • bội số sải ngang của 16 pixel
 size = stride * height 

Ví dụ: đối tượng Hình ảnh có thể cung cấp dữ liệu
ở định dạng này từ CameraDevice (nếu
được hỗ trợ) thông qua đối tượng ImageReader . Các
Image # getPlanes () sẽ trả về
một mặt phẳng chứa dữ liệu pixel. Sải pixel luôn là 1 trong
Image.Plane.getPixelStride ()
Image.Plane.getRowStride () mô tả ngành dọc
khoảng cách pixel lân cận (tính bằng byte) giữa các hàng liền kề.

Xem thêm:

  • Hình ảnh
  • ImageReader
  • CameraDevice

Giá trị Không đổi:

538982489
(0x20203859)

YCBCR_P010

Đã được thêm vào API cấp 31

public static final int YCBCR_P010 

Định dạng Android YUV P010.

P010 là định dạng bán mặt phẳng 4: 2: 0 YCbCr bao gồm mặt phẳng WxH Y
tiếp theo là mặt phẳng Wx (H / 2) CbCr. Mỗi mẫu được đại diện bởi một 16-bit
giá trị endian nhỏ, với 6 bit thấp hơn được đặt thành 0.

P010 là định dạng bán phẳng 4: 2: 0 YCbCr bao gồm mặt phẳng WxH Y theo sau là mặt phẳng Wx (H / 2) CbCr. Mỗi mẫu được thể hiện bằng giá trị endian nhỏ 16 bit, với 6 bit thấp hơn được đặt thành 0.

Ví dụ: Hình ảnh Đối tượng có thể cung cấp dữ liệu
ở định dạng này từ CameraDevice
thông qua đối tượng ImageReader nếu định dạng này là
được hỗ trợ bởi CameraDevice .

Xem thêm:

  • Hình ảnh
  • ImageReader
  • CameraDevice

Giá trị Không đổi:

54
(0x00000036)

YUV_420_888

Đã được thêm vào API cấp 19

public static final int YUV_420_888 

Định dạng Android YUV 420 nhiều mặt phẳng

Định dạng này là định dạng YCbCr chung, có khả năng mô tả bất kỳ 4: 2: 0 nào
đệm phẳng hoặc đệm bán phẳng được lấy mẫu màu sắc (nhưng không xen kẽ hoàn toàn),
với 8 bit cho mỗi mẫu màu.

Hình ảnh ở định dạng này luôn được biểu thị bằng ba vùng đệm riêng biệt
dữ liệu, một cho mỗi mặt phẳng màu. Thông tin bổ sung luôn
đi kèm với bộ đệm, mô tả sải chân hàng và sải chân pixel
cho mỗi máy bay.

Thứ tự các mặt phẳng trong mảng được trả về bởi
Image # getPlanes () được đảm bảo rằng
mặt phẳng # 0 luôn là Y, mặt phẳng # 1 luôn là U (Cb) và mặt phẳng # 2 luôn là V (Cr).

Mặt phẳng Y được đảm bảo không xen kẽ với các mặt phẳng U / V
(đặc biệt, độ phân giải pixel luôn là 1 trong
yPlane.getPixelStride () ).

Các mặt phẳng U / V được đảm bảo có cùng sải chân hàng và sải chân pixel
(đặc biệt,
uPlane.getRowStride ()
== vPlane.getRowStride ()
uPlane.getPixelStride ()
== vPlane.getPixelStride () ;
).

Ví dụ: đối tượng Hình ảnh có thể cung cấp dữ liệu
ở định dạng này từ CameraDevice
thông qua đối tượng ImageReader .

Xem thêm:

  • Hình ảnh
  • ImageReader
  • CameraDevice

Giá trị Không đổi:

35
(0x00000023)

YUV_422_888

Đã được thêm vào API cấp 23

public static final int YUV_422_888 

Định dạng Android YUV 422 nhiều mặt phẳng

Định dạng này là định dạng YCbCr chung, có khả năng mô tả bất kỳ 4: 2: 2 nào
định dạng chroma-subsampled (phẳng, bán phẳng hoặc xen kẽ),
với 8 bit cho mỗi mẫu màu.

Hình ảnh ở định dạng này luôn được biểu thị bằng ba vùng đệm riêng biệt
dữ liệu, một cho mỗi mặt phẳng màu. Thông tin bổ sung luôn
đi kèm với bộ đệm, mô tả sải chân hàng và sải chân pixel
cho mỗi máy bay.

Thứ tự các mặt phẳng trong mảng được trả về bởi
Image # getPlanes () được đảm bảo rằng
mặt phẳng # 0 luôn là Y, mặt phẳng # 1 luôn là U (Cb) và mặt phẳng # 2 luôn là V (Cr).

Ngược lại với định dạng YUV_420_888 , mặt phẳng Y có thể có pixel
sải chân lớn hơn 1 in
yPlane.getPixelStride () .

Các mặt phẳng U / V được đảm bảo có cùng sải chân hàng và sải chân pixel
(đặc biệt,
uPlane.getRowStride ()
== vPlane.getRowStride ()
uPlane.getPixelStride ()
== vPlane.getPixelStride () ;
).

Ví dụ: đối tượng Hình ảnh có thể cung cấp dữ liệu
ở định dạng này từ MediaCodec
thông qua đối tượng MediaCodec.getOutputImage (int) .

Xem thêm:

  • Hình ảnh
  • MediaCodec

Giá trị Không đổi:

39
(0x00000027)

YUV_444_888

Đã được thêm vào API cấp 23

public static final int YUV_444_888 

Định dạng Android YUV 444 nhiều mặt phẳng

Định dạng này là định dạng YCbCr chung, có khả năng mô tả bất kỳ 4: 4: 4 nào
(phẳng, bán phẳng hoặc xen kẽ),
với 8 bit cho mỗi mẫu màu.

Hình ảnh ở định dạng này luôn được biểu thị bằng ba vùng đệm riêng biệt
dữ liệu, một cho mỗi mặt phẳng màu. Thông tin bổ sung luôn
đi kèm với bộ đệm, mô tả sải chân hàng và sải chân pixel
cho mỗi máy bay.

Thứ tự các mặt phẳng trong mảng được trả về bởi
Image # getPlanes () được đảm bảo rằng
mặt phẳng # 0 luôn là Y, mặt phẳng # 1 luôn là U (Cb) và mặt phẳng # 2 luôn là V (Cr).

Ngược lại với định dạng YUV_420_888 , mặt phẳng Y có thể có pixel
sải chân lớn hơn 1 in
yPlane.getPixelStride () .

Các mặt phẳng U / V được đảm bảo có cùng sải chân hàng và sải chân pixel
(đặc biệt,
uPlane.getRowStride ()
== vPlane.getRowStride ()
uPlane.getPixelStride ()
== vPlane.getPixelStride () ;
).

Ví dụ: đối tượng Hình ảnh có thể cung cấp dữ liệu
ở định dạng này từ MediaCodec
thông qua đối tượng MediaCodec.getOutputImage (int) .

Xem thêm:

  • Hình ảnh
  • MediaCodec

Giá trị Không đổi:

40
(0x00000028)

YUY2

Đã được thêm vào API cấp 8

public static final int YUY2 

Định dạng YCbCr được sử dụng cho hình ảnh, sử dụng định dạng mã hóa YUYV (YUY2).

Đối với API android.hardware.camera2 , YUV_420_888
được đề xuất cho đầu ra YUV thay thế.

Đây là định dạng thay thế cho hình ảnh xem trước của Máy ảnh . Cho dù
định dạng này được hỗ trợ bởi phần cứng máy ảnh có thể được xác định bởi
Camera.Parameters.getSupportedPreviewFormats () .

Giá trị Không đổi:

20
(0x00000014)

YV12

Đã được thêm vào API cấp 9

public static final int YV12 

Định dạng Android YUV.

Định dạng này hiển thị với các ứng dụng và bộ giải mã phần mềm.

YV12 là định dạng phẳng 4: 2: 0 YCrCb bao gồm mặt phẳng WxH Y theo sau
bằng (W / 2) x (H / 2) các mặt phẳng Cr và Cb.

Định dạng này giả định

  • chiều rộng chẵn
  • chiều cao đồng đều
  • bội số sải ngang của 16 pixel
  • một sải chân dọc bằng chiều cao
 y_size = sải chân * chiều cao
 c_stride = ALIGN (sải bước / 2, 16)
 c_size = c_stride * height / 2
 size = y_size + c_size * 2
 cr_offset = y_size
 cb_offset = y_size + c_size 

Đối với API android.hardware.camera2 , YUV_420_888 định dạng là
được đề xuất cho đầu ra YUV thay thế.

Đối với API máy ảnh cũ hơn, định dạng này được đảm bảo sẽ được hỗ trợ cho
Máy ảnh xem trước hình ảnh kể từ API cấp 12; cho các phiên bản API trước đó,
kiểm tra Camera.Parameters.getSupportedPreviewFormats () .

Lưu ý rằng để sử dụng lệnh gọi lại xem trước máy ảnh (xem
Camera.setPreviewCallback (Camera.PreviewCallback) ),
giá trị sải chân là nhỏ nhất có thể; nghĩa là, nó bình đẳng
đến:

 stride = ALIGN (width, 16) 

Xem thêm:

  • Camera.setPreviewCallback (Camera.PreviewCallback)
  • Camera.Parameters.setPreviewFormat (int)

Giá trị Không đổi:

842094169
(0x32315659)

Các hàm tạo công khai

ImageFormat

public ImageFormat () 

Phương thức công khai


Xem thêm những thông tin liên quan đến chủ đề thay đổi định dạng hình ảnh trên Android

Hướng Dẫn Cách Đổi Đuôi Định Dạng File Ảnh | Đổi Đuôi File Ảnh Dễ và Nhanh 2021

  • Tác giả: Máy Tính & Phần Mềm
  • Ngày đăng: 2021-04-29
  • Đánh giá: 4 ⭐ ( 4977 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Link tải phần mềm đổi đuôi file ảnh : https://datdungdinh.com/huong-dan-cach-doi-duoi-dinh-dang-file-anh/

    Chào cả nhà !
    Hôm nay mình sẽ chia sẻ với các bạn 2 cách để đổi đuôi định dạng file ảnh như png jpeg gif tif bmb sang những định dạng file ảnh khác nhau nhé, đôi khi các bạn cần chuyển đổi file ảnh để làm những công việc phù hợp với bản thân, thì đây chính là 1 chia sẻ để các bạn thử tham khảo nhé.
    Chúc các bạn sẽ đổi đuôi thành công file ảnh nhé.
    ------------------------------------------------------------------------------------------------------------------
    Kênh Youtube liên quan và Liên hệ hỗ trợ :
    + Kênh Đạt Đủng Đỉnh : Build & Chế : Chuyên build và chế máy tính . https://bit.ly/3aOV0qO
    + Kênh Game & Lỗi Game : Chuyên link tải, hướng dẫn cài và sửa lỗi game . https://bit.ly/2TJqTvb
    + Kênh Vlog Kinh Nghiệm Của Đạt : Chuyên linh kiện, phụ kiện, cách tháo lắp và sửa lỗi máy tính . https://bit.ly/38SlIh2
    + Kênh Đạt Từng Trải : Chia sẻ kinh nghiệm không liên quan đến máy tính . https://bit.ly/36fg4HX
    + Kênh Máy Tính & Phần Mềm : Chuyên link tải, hướng dẫn cài phầm mềm máy tính . https://bit.ly/2QcaQ6U
    + Blog và Chat Facebook với mình tại : https://datdungdinh.com
    hastag : doiduoifileanh cachdoiduoipngjpeggifico phanmemdoiduoifileanh

WebP - một định dạng hình ảnh ưa thích cho các ứng dụng Android

  • Tác giả: viblo.asia
  • Đánh giá: 3 ⭐ ( 8608 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Kích thước ứng dụng nhỏ hơn giúp người dùng tiết kiệm thời gian, dữ liệu di động và pin khi tải chúng xuống từ Play Store. Tất cả chúng ta đều thích các ứng dụng nhỏ hơn!

Cách đổi định dạng ảnh giữa PNG, JPEG, BMP, GIF…đơn giản nhất

  • Tác giả: sonzim.com
  • Đánh giá: 4 ⭐ ( 5946 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Xin giới thiệu với các bạn một cách đổi định dạng ảnh hay đổi đuôi hình ảnh đơn giản nhất, chỉ thực hiện đúng 2 bước trong vòng một nốt nhạc là xong.

Chia sẻ 3 cách chuyển đổi định dạng hình ảnh đơn giản

  • Tác giả: hocviencanboxd.edu.vn
  • Đánh giá: 3 ⭐ ( 9116 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Xin chào các bạn hôm nay mình sẽ hướng dẫn các bạn cách đổi đuôi ảnh mặc định sang đuôi jpg, png, bmp… hiện nay thì có khá là nhiều định dạng ảnh, mặc khác

Tải phần mềm chuyển đổi định dạng ảnh, Huong Dan chuyen doi dinh dang anh Full

  • Tác giả: taimienphi.vn
  • Đánh giá: 3 ⭐ ( 9955 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tải Top phần mềm "chuyển đổi định dạng ảnh", hướng dẫn dùng phần mềm có chức năng "chuyen doi dinh dang anh" Tải về miễn phí- Taimienphi.vn

Luma: Ứng dụng đổi định dạng ảnh JPG, PNG, HEIF cho Android

  • Tác giả: hieumobile.com
  • Đánh giá: 3 ⭐ ( 3430 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Top 6 ứng dụng chỉnh sửa ảnh tốt nhất cho Android và iPhone

  • Tác giả: www.vidmore.com
  • Đánh giá: 3 ⭐ ( 2724 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hãy xem ứng dụng thay đổi kích thước ảnh miễn phí tốt nhất để giúp bạn sửa đổi hình ảnh theo tỷ lệ mong muốn. Và quyết định ứng dụng nào hoạt động linh hoạt hơn.

Xem thêm các bài viết khác thuộc chuyên mục: Social

Xem Thêm  15 trang web và ứng dụng truyền thông xã hội lớn nhất [2022] - 10 trang mạng xã hội hàng đầu