編輯 Ultra HDR 圖片

超 HDR 圖片格式可對亮度資訊進行編碼,讓裝置顯示色彩較強烈的圖像。在應用程式編輯 Ultra HDR 圖片時,請務必保留該亮度資訊。即使使用者的裝置不支援以完整強度顯示 Ultra HDR 圖片,這一點也很重要。畢竟,使用者可能會透過支援 Ultra HDR 的裝置與他人分享圖片,也可能將圖片儲存後再換新裝置查看。

好消息是,Android 大部分用來編輯點陣圖的方法,都支援 Ultra HDR 圖片格式。如果您對圖片進行基本編輯 (例如裁剪或旋轉圖片),則使用標準 Android 方法,最終就會得到尺寸或方向的超 HDR 圖像。

若要修改圖片內容,則這樣做會比較容易。在這類情況下,標準編輯方法會保留「舊」映像檔的亮度資訊,這可能不是您想要的結果。在這些情況下,您可能需要編輯或移除取得地圖 (編碼圖像的亮度資訊),才能取得正確的結果。

Ultra HDR 格式總覽

如要進一步瞭解 Ultra HDR 圖片格式,請參閱「超 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 圖片,請參閱下列其他資源: