Формат изображения 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
Если вы используете API-интерфейсы Android Bitmap
для выполнения базовых преобразований в изображении Ultra HDR, методы вносят соответствующие изменения в карту усиления. Поддерживаются следующие операции Bitmap
:
- Поворот: если вы поворачиваете изображение Ultra HDR, метод также поворачивает карту усиления.
- Кадрирование: если вы кадрируете изображение Ultra HDR, метод соответствующим образом кадрирует карту усиления.
- Масштаб: при масштабировании изображения Ultra HDR метод масштабирует карту усиления таким образом, чтобы она имела половину ширины и половину высоты измененного основного изображения.
В каждом случае информация о светимости сохраняется.
Расширенные возможности редактирования Ultra HDR
Если вы вносите более сложные изменения в изображение Ultra HDR, карта усиления сохраняется неизменной, что может не дать желаемых результатов.
К таким ситуациям могут привести следующие распространенные правки:
- Добавление наклеек или эмодзи: добавленная наклейка будет иметь те же значения яркости и насыщенности цвета, что и область, на которую она была наклеена.
- Наложение второго изображения: новое изображение будет использовать информацию о яркости и насыщенности цвета накладываемого контента.
- Добавление фильтров: информация старой карты усиления может не подходить для измененного первичного изображения.
В каждом случае старая информация о яркости и насыщенности цвета сохраняется, но она может не подходить для измененного изображения.
Если исходная карта усиления подходит для отредактированного изображения, вам не нужно ничего делать. Если вы хотите изменить карту усиления, обычный рабочий процесс таков:
- Получите текущую карту усиления изображения , вызвав
Bitmap.getGainmap()
, и кэшируйте ее. - Измените основное изображение по желанию.
Внесите соответствующие изменения в кэшированную карту усиления. Например, если вы вставили эмодзи на основное изображение, вы можете установить соответствующую часть карты усиления на нейтральное значение, например
Color.GRAY
.Примените измененную карту усиления обратно к изображению, вызвав
Bitmap.setGainmap()
.
Дополнительные ресурсы
Чтобы узнать больше об изображениях Ultra HDR, ознакомьтесь со следующими дополнительными ресурсами:
,Формат изображения 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
Если вы используете API-интерфейсы Android Bitmap
для выполнения базовых преобразований в изображении Ultra HDR, методы вносят соответствующие изменения в карту усиления. Поддерживаются следующие операции Bitmap
:
- Поворот: если вы поворачиваете изображение Ultra HDR, метод также поворачивает карту усиления.
- Кадрирование: если вы кадрируете изображение Ultra HDR, метод соответствующим образом кадрирует карту усиления.
- Масштаб: при масштабировании изображения Ultra HDR метод масштабирует карту усиления таким образом, чтобы она имела половину ширины и половину высоты измененного основного изображения.
В каждом случае информация о светимости сохраняется.
Расширенные возможности редактирования Ultra HDR
Если вы вносите более сложные изменения в изображение Ultra HDR, карта усиления сохраняется неизменной, что может не дать желаемых результатов.
К таким ситуациям могут привести следующие распространенные правки:
- Добавление наклеек или эмодзи: добавленная наклейка будет иметь те же значения яркости и насыщенности цвета, что и область, на которую она была наклеена.
- Наложение второго изображения: новое изображение будет использовать информацию о яркости и насыщенности цвета накладываемого контента.
- Добавление фильтров: информация старой карты усиления может не подходить для измененного первичного изображения.
В каждом случае старая информация о яркости и насыщенности цвета сохраняется, но она может не подходить для измененного изображения.
Если исходная карта усиления подходит для отредактированного изображения, вам не нужно ничего делать. Если вы хотите изменить карту усиления, обычный рабочий процесс таков:
- Получите текущую карту усиления изображения , вызвав
Bitmap.getGainmap()
, и кэшируйте ее. - Измените основное изображение по желанию.
Внесите соответствующие изменения в кэшированную карту усиления. Например, если вы вставили эмодзи на основное изображение, вы можете установить соответствующую часть карты усиления на нейтральное значение, например
Color.GRAY
.Примените измененную карту усиления обратно к изображению, вызвав
Bitmap.setGainmap()
.
Дополнительные ресурсы
Чтобы узнать больше об изображениях Ultra HDR, ознакомьтесь со следующими дополнительными ресурсами: