gimp меняет цвета в двухцветном изображении

В Gimp у меня есть простое графическое изображение с двумя цветами (цвет переднего плана и цвет фона) со сглаживанием между ними. Я хотел бы изменить один или оба цвета изображения на другой произвольный цвет.

Это было бы легко (я мог бы просто использовать инструмент заливки, выбор цвета и т. д.), за исключением того, что я хочу сохранить сглаживание, которое уже есть в изображении. Я не хочу просто заменять ровно один цвет ровно одним другим, потому что тогда я получу странную полосу или неровный край в месте встречи цветов.

Какие-либо предложения? Спасибо.

См. graphicdesign.stackexchange.com/questions/21780/… — возможно, вам придется сначала преобразовать исходный код в RGB.

Ответы (2)

В зависимости от цветов и того, насколько хорошо исходное сглаживание, вы можете просто использовать «Цвета»> «Карта»> «Повернуть цвета».

Но чтобы сделать это более точно, используйте Color-to-Alpha, чтобы разделить передний план и фон на два слоя, таким образом:

  • Слой > Прозрачность > Добавить альфа-канал
  • Layer> Transparency> Color to Alpha... (используйте палитру цветов, чтобы выбрать цвет фона)
    (это должно полностью удалить сплошной фон, но оставит пиксели сглаживания с непрозрачностью, пропорциональной их сочетанию цвета фона / переднего плана)
  • добавить новый слой, инициализировать новый цвет фона и переместить ниже слоя переднего плана
  • выберите слой переднего плана и используйте Colors > Colorise, чтобы установить новый цвет переднего плана (включая частично прозрачные пиксели сглаживания)

В качестве альтернативы вы можете использовать заполнение ведра, чтобы установить новый цвет переднего плана следующим образом:

  • (Диалог слоев) От альфа-канала к выделению
  • (Диалог слоев) Заблокировать альфа-канал (маленькая кнопка над списком слоев)
  • ведро-заполнить весь выбор

Для всех, у кого есть эта проблема, я возился и нашел решение, которое сработало для меня. Если цвета сильно различаются, хорошо подойдет Colors > Color to Alpha, но если цвета похожи, например, синий на зеленом, то установка зеленого на альфа-канал также сделает синий частично прозрачным.

Вместо:

  • Если это еще не сделано, преобразуйте изображение в «черно-белое» (с небольшим количеством серого для сглаживания, мягких краев или других градиентов). Сделайте это, полностью обесцветив изображение или преобразовав его в оттенки серого, чтобы удалить цвета, затем немного повысив контрастность и используя инструмент заливки ведра с очень низким порогом, чтобы основные участки изображения были действительно черно-белыми, а не просто темно-серый и светло-серый.
  • Затем выберите два цвета, которые вы хотели бы использовать в качестве цветов «переднего плана» и «фона» в вашей цветовой палитре.
  • Затем просто нажмите «Цвета» > «Карта» > «Карта градиента».

Он должен менять цвета именно так, как вы ожидаете.