Вам не нужно несколько изображений - вы можете сделать это с одним изображением - используйте любой формат, поддерживаемый на целевой платформе. Android поддерживает PNG, GIF и JPG - я бы выбрал PNG или JPG с настройками для JPG, поскольку это, вероятно, фотография.
Предполагая, что существующее изображение имеет цвет (т.е. не черный или белый мех), вы можете изменить цвета меха либо на
- раскрашивание изображения - это заставляет все цвета приобретать определенный оттенок
- сдвиг оттенка - это сдвиг оттенка всех цветов на заданную величину
Для реализации этого. Вы можете использовать jjil - библиотеку изображений Джона - для мобильных устройств с особой поддержкой Android.
Чтобы реализовать оба приведенных выше преобразования, выполните следующие действия:
- сначала преобразуйте изображение в HSV , используя RgbHsv стадию конвейера
- преобразовать желаемый цвет меха RGB в HSV (например, если требуется красный мех, преобразовать rgb (красный) в hsv (красный). ( Пример кода .)
- Затем вы выбрали способ изменения цвета изображения - либо установив H (оттенок) для каждого пикселя на то же значение оттенка, что и требуемый цвет меха (из шага 2), либо добавив разницу выбранного оттенка к оттенок пикселя изображения (модуль 255), чтобы получить сдвиг оттенка. Вы также можете масштабировать значение V, чтобы получить более светлые или более темные оттенки меха.
- Значения HSV изображения затем преобразуются обратно в rgb. Похоже, что в библиотеке jjil нет фильтра HsvRgb, но это может быть реализовано как обратное к RgbHsv. Вот функция HSV2RGB .
Если на изображении есть другие важные цвета, вы можете оставить их без изменений и применить преобразование только к определенным цветам на изображении. Вы проверяете текущее значение HSV, и если значения оттенка, S или V находятся за пределами тех значений, которые вы не хотите изменять, вы просто не изменяете эти значения. Например, если у кота зеленые глаза и коричневый мех, вы пропускаете значения HSV, где H указывает, что это оттенок зеленого - оставляя этот цвет, а глаза неизменными.