Định dạng hình ảnh Ultra HDR mã hoá thông tin về độ sáng, cho phép các thiết bị hiển thị hình ảnh sáng hơn với màu sắc rực rỡ hơn. Khi ứng dụng của bạn chỉnh sửa một hình ảnh Ultra HDR, bạn cần đảm bảo giữ nguyên thông tin độ chói đó. Điều này rất quan trọng ngay cả khi thiết bị của người dùng không hỗ trợ hiển thị hình ảnh Ultra HDR ở cường độ tối đa. Sau cùng, người dùng có thể chia sẻ hình ảnh của họ với người dùng có thiết bị hỗ trợ Ultra HDR hoặc họ có thể lưu hình ảnh đó và xem lại trên một thiết bị mới sau nhiều năm.
Tin vui là hầu hết các phương thức chỉnh sửa bitmap của Android đều hỗ trợ định dạng hình ảnh Ultra HDR. Nếu chỉ chỉnh sửa cơ bản cho hình ảnh, chẳng hạn như cắt hoặc xoay, thì các phương thức chuẩn của Android sẽ thực hiện việc này. Bạn sẽ có được một hình ảnh siêu HDR với kích thước hoặc hướng mới.
Công việc này sẽ khó khăn hơn nếu bạn đang sửa đổi nội dung của hình ảnh. Trong những trường hợp đó, các phương thức chỉnh sửa tiêu chuẩn sẽ giữ lại thông tin độ sáng của hình ảnh cũ, điều này có thể không phải là điều bạn muốn. Trong những trường hợp đó, bạn có thể cần chỉnh sửa hoặc xoá bản đồ độ khuếch đại (mã hoá thông tin độ sáng của hình ảnh) để có được kết quả phù hợp.
Tổng quan về định dạng Ultra HDR
Định dạng hình ảnh Ultra HDR được mô tả chi tiết trong Thông số kỹ thuật về hình ảnh Ultra HDR. Điều quan trọng nhất cần hiểu là hình ảnh Ultra HDR chứa cả hình ảnh chính và bản đồ hệ số khuếch đại.
- Hình ảnh chính có thông tin về màu sắc cho từng pixel của hình ảnh.
- Bản đồ độ khuếch đại là một hình ảnh JPEG tiêu chuẩn có tỷ lệ tương tự như hình ảnh chính, mặc dù không nhất thiết phải có cùng kích thước pixel. Mỗi pixel của bản đồ hệ số khuếch đại chỉ định độ chói của phần tương ứng trong hình ảnh chính.
Bản đồ độ khuếch đại có thể là thang độ xám hoặc màu. Nếu bản đồ hệ số khuếch đại có màu, mỗi kênh màu trên bản đồ hệ số khuếch đại sẽ chỉ định độ chói của kênh màu đó trên phần tương ứng của hình ảnh chính. Nếu bản đồ hệ số khuếch đại là thang độ xám, thì mỗi pixel của bản đồ hệ số khuếch đại sẽ chỉ định độ chói của cả 3 kênh màu trên phần đó của hình ảnh chính.
Bản đồ khuếch đại phải có cùng tỷ lệ với hình ảnh chính, nhưng không nhất thiết phải có cùng kích thước pixel. Trên thực tế, khi tạo hình ảnh Ultra HDR, nền tảng Android sẽ tạo một bản đồ độ khuếch đại có chiều rộng và chiều cao nhỏ hơn hình ảnh chính; việc này giúp giảm đáng kể kích thước tệp nhưng vẫn mã hoá đủ thông tin để có kết quả tốt. Điều này có nghĩa là mỗi pixel trong bản đồ độ khuếch đại có thể lưu trữ thông tin độ chói cho một số pixel trong hình ảnh chính.
Chỉnh sửa cơ bản bằng Ultra HDR
Nếu bạn dùng các API Bitmap
của Android để thực hiện các phép biến đổi cơ bản cho hình ảnh Ultra HDR, thì các phương thức sẽ thực hiện những thay đổi thích hợp cho bản đồ độ khuếch đại. Các thao tác Bitmap
sau đây được hỗ trợ:
- Xoay: Nếu bạn xoay một hình ảnh Ultra HDR, phương thức này cũng sẽ xoay bản đồ hệ số khuếch đại.
- Cắt: Nếu bạn cắt một hình ảnh Ultra HDR, phương thức này sẽ cắt bản đồ độ khuếch đại một cách thích hợp.
- Tỷ lệ: Nếu bạn điều chỉnh tỷ lệ một hình ảnh Ultra HDR, phương thức này sẽ điều chỉnh tỷ lệ bản đồ độ khuếch đại để bản đồ này có chiều rộng và chiều cao bằng một nửa hình ảnh chính đã đổi kích thước.
Trong mỗi trường hợp, thông tin về độ sáng đều được giữ nguyên.
Chỉnh sửa nâng cao bằng Ultra HDR
Nếu bạn chỉnh sửa một bức ảnh Ultra HDR một cách tỉ mỉ hơn, thì bản đồ độ khuếch đại sẽ không thay đổi, điều này có thể không mang lại kết quả mà bạn mong muốn.
Sau đây là một số nội dung chỉnh sửa phổ biến có thể dẫn đến tình trạng này:
- Thêm hình dán hoặc biểu tượng cảm xúc: Hình dán được thêm sẽ có cùng giá trị độ sáng và độ sống động của màu sắc như vùng mà hình dán được dán lên.
- Lớp phủ hình ảnh thứ hai: Hình ảnh mới sẽ sử dụng thông tin về độ sáng và độ sống động của màu sắc của nội dung mà hình ảnh đó đang phủ lên.
- Thêm bộ lọc: Thông tin của bản đồ hệ số khuếch đại cũ có thể không phù hợp với hình ảnh chính đã sửa đổi.
Trong mỗi trường hợp, thông tin về độ sáng và độ sống động của màu sắc cũ sẽ được giữ lại, nhưng có thể không phù hợp với hình ảnh đã sửa đổi.
Nếu bản đồ hệ số khuếch đại ban đầu phù hợp với hình ảnh đã chỉnh sửa, bạn không cần làm gì cả. Nếu bạn muốn sửa đổi bản đồ hệ số khuếch đại, thì quy trình làm việc thông thường là:
- Tìm nạp bản đồ hệ số khuếch đại hiện tại của hình ảnh bằng cách gọi
Bitmap.getGainmap()
và lưu vào bộ nhớ đệm. - Sửa đổi hình ảnh chính theo ý muốn.
Chỉnh sửa tương ứng đối với bản đồ hệ số khuếch đại được lưu vào bộ nhớ đệm. Ví dụ: nếu dán một biểu tượng cảm xúc lên hình ảnh chính, bạn có thể đặt phần tương ứng của bản đồ hệ số khuếch đại thành một giá trị trung tính, chẳng hạn như
Color.GRAY
.Áp dụng lại bản đồ hệ số khuếch đại đã sửa đổi cho hình ảnh bằng cách gọi
Bitmap.setGainmap()
.
Tài nguyên khác
Để tìm hiểu thêm về hình ảnh Ultra HDR, hãy xem các tài nguyên bổ sung sau đây: