編輯 Ultra HDR 圖片

Ultra HDR 圖片格式會編碼亮度資訊,讓裝置顯示更亮、色彩更鮮豔的圖片。當應用程式編輯 Ultra HDR 圖片時,請務必保留亮度資訊。即使使用者的裝置不支援以全亮度顯示 Ultra HDR 圖片,這項功能仍相當重要。畢竟使用者可能會將圖片分享給使用支援 Ultra HDR 的裝置的使用者,或是將圖片儲存起來,幾年後再透過新裝置查看。

好消息是,大多數用於編輯點陣圖的 Android 方法都支援 Ultra HDR 圖片格式。如果您要對圖片進行基本編輯,例如裁剪或旋轉,標準的 Android 方法就能完成這項工作,您將得到採用新尺寸或方向的超 HDR 圖片。

如果您要修改圖片內容,工作就會變得更複雜。在這些情況下,標準編輯方法會保留圖片的亮度資訊,這可能不是您想要的結果。在這種情況下,您可能需要編輯或移除增益圖 (用於編碼圖像的亮度資訊),才能取得正確的結果。

Ultra HDR 格式總覽

Ultra HDR 圖片規格詳細說明 Ultra HDR 圖片格式。最重要的是,Ultra HDR 圖片同時包含主要圖片增益圖

  • 主要圖片包含圖片每個像素的色彩資訊。
  • 增益圖是標準 JPEG 圖片,與主要圖片的比例相同,但不一定是相同的像素尺寸。增益圖的每個像素都會指定主圖片對應部分的亮度。

增益圖可以是灰階或彩色。如果增益對應圖為彩色,增益對應圖上的每個色彩通道都會指定主圖片對應部分的該色彩通道亮度。如果增益圖為灰階,增益圖的每個像素都會指定主要圖片該部分的三個色彩通道的亮度。

增益圖必須與主要圖片的比例相同,但不必具有相同的像素尺寸。事實上,當 Android 平台建立 Ultra HDR 圖片時,會建立寬度和高度都比主要圖片小的增益圖,這樣一來檔案大小會大幅縮減,但仍可編碼足夠的資訊,以便取得良好的結果。也就是說,增益圖中的每個像素可能會儲存主要圖片中多個像素的亮度資訊。

基本 Ultra HDR 編輯

如果您使用 Android Bitmap API 對 Ultra HDR 圖片進行基本轉換,這些方法會對增益圖進行適當的變更。支援下列 Bitmap 作業:

  • 旋轉:如果您旋轉 Ultra HDR 圖片,這個方法也會旋轉增益圖。
  • 裁剪:如果您裁剪 Ultra HDR 圖片,這個方法會適當裁剪增益圖。
  • 縮放:如果您縮放 Ultra HDR 圖片,這個方法會縮放增益圖,使其寬度和高度為經過調整大小的主圖片的一半。

在每種情況下,系統都會保留亮度資訊。

進階 Ultra HDR 編輯

如果您對 Ultra HDR 圖片進行更精細的編輯,增益圖會維持不變,可能無法產生您想要的結果。

可能導致這種情況的常見編輯包括:

  • 新增貼圖或表情符號:新增的貼圖會與貼上貼圖的區域具有相同的亮度和色彩鮮明度值。
  • 疊加第二張圖片:新圖片會使用疊加內容的亮度和色彩鮮豔度資訊。
  • 新增濾鏡:舊增益圖資訊可能不適合用於經過修改的主圖片。

在每個情況下,舊的亮度和色彩鮮豔度資訊都會保留,但可能不適合修改過的圖片。

如果原始增益圖表適用於經過編輯的圖片,您就無須採取任何行動。如果確實要修改增益圖,一般工作流程如下:

  1. 擷取圖片目前的增益圖,方法是呼叫 Bitmap.getGainmap() 並將其快取。
  2. 視需要修改主要圖片。
  3. 對快取的增益圖進行相應的編輯。舉例來說,如果您將表情符號貼到主要圖片上,可以將增益圖對應的部分設為中性值,例如 Color.GRAY

  4. 呼叫 Bitmap.setGainmap()將經過修改的增益圖套用回圖片

其他資源

如要進一步瞭解 Ultra HDR 圖片,請參閱下列其他資源: