Ultra HDR 圖片格式會編碼亮度資訊,讓裝置顯示更明亮、色彩更鮮豔的圖片。應用程式編輯 Ultra HDR 圖片時,請務必保留亮度資訊。即使使用者的裝置不支援以完整強度顯示 Ultra HDR 圖片,這項功能仍十分重要。畢竟,使用者可能會將圖片分享給使用支援 Ultra HDR 裝置的人,或儲存圖片,並在多年後透過新裝置再次查看。
好消息是,大多數用於編輯點陣圖的 Android 方法都支援 Ultra HDR 圖片格式。如果您要對圖片進行基本編輯 (例如裁剪或旋轉),可以使用標準 Android 方法,最後會產生具有新尺寸或方向的 Ultra 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 圖片進行更精細的編輯,增益圖會保持不變,可能無法達到您想要的效果。
可能導致這種情況的常見編輯內容包括:
- 新增貼圖或表情符號:新增的貼圖會與貼上的區域具有相同的亮度及色彩鮮豔度值。
- 疊加第二張圖片:新圖片會使用疊加內容的亮度和色彩鮮豔度資訊。
- 新增濾鏡:舊的增益圖資訊可能不適用於修改後的主要圖片。
在上述情況下,系統會保留舊的亮度與色彩鮮豔度資訊,但可能不適用於修改後的圖片。
如果原始增益圖適合編輯後的圖片,您就不必採取任何行動。如果要修改增益圖,一般工作流程如下:
- 呼叫
Bitmap.getGainmap(),擷取圖片目前的增益圖並快取。 - 視需要修改主要圖片。
對快取的增益圖進行相應編輯。舉例來說,如果您在主要圖片上貼上表情符號,可以將增益圖的對應部分設為中性值,例如
Color.GRAY。呼叫
Bitmap.setGainmap(),將修改後的增益圖套用回圖片。
其他資源
如要進一步瞭解 Ultra HDR 圖片,請參閱下列其他資源: