Поменять один цвет на другой?

109

В GIMP у меня есть зеленая кнопка GIF-изображения: она от темно-зеленого до светло-зеленого на прозрачном фоне. Я хотел бы изменить его на синий и сохранить затенение, чтобы оно переходило от темно-синего к голубому.

Как я могу это сделать?

Braiam
источник

Ответы:

83

Если вы загрузите изображение в формате GIF, вы, вероятно, получите изображение с палитрой. Обязательно сначала измените его на RGB с помощью: ИзображениеРежимRGB . Изменение цветов (включая операции изменения размера) не будет очень хорошо работать с палитрами, потому что Gimp ограничивает свой выбор цветов цветами, определенными в палитре.

Я предлагаю вращать оттенок в ЦветахНасыщенность оттенка .

Учитывая начальное изображение как это:

зеленый градиент

Сначала вы меняете Hue, нажимая Master, а затем перетаскивая ползунок Hue, а затем настраивайте яркость и контрастность по своему вкусу.

Отрегулируйте оттенок в цветах -> Насыщенность оттенка

Результат выглядит так:

синий градиент

Вы можете легко сделать его холоднее или теплее, темнее или светлее, более или менее насыщенным.

sastanin
источник
3
Хороший ответ. Как добавленное примечание, если ваша кнопка содержит рамку, это также изменит ее цвет. Чтобы избежать этого, используйте инструмент выбора, чтобы выбрать только область, которую вы хотите перекрасить, затем запустите Hue-Saturation.
Ли Харрисон
1
Что если я захочу изменить изображение на заданное значение RGB?
Аарон Франке
77

Если вы используете GIMP 2.8.2, вы можете просто использовать Colors -> Map -> Color Exchange.

Источник: Как я могу поменять цвета с GIMP?

Патрисио
источник
2
Это также кажется способным работать только в области смежных пикселей, на которую щелкают, а не на всех выбранных пикселях. Как я уже говорил выше, это раскрашивает пиксель, на котором я его использую. Выбор по цвету выделил сотни пикселей по всему изображению.
ProfK
3
@ProfKaos У меня отлично работает. В случае, если у меня ничего не выбрано, Color Exchange изменяет все пиксели во всем изображении.
MasterPJ
3
Я ищу математическое преобразование. Я конвертирую # 650000 в # 590000, поэтому я чувствую, что должен иметь возможность применить -060000 к каждому пикселю, но я не вижу простого способа ...
isaaclw
Вы также можете использовать «Цвета -> Карта -> Карта градиента», чтобы изменить градиенты. Очень полезно
Хавьер Констанцо
2
Это ответ. Регулируя порог, можно также обрабатывать тона цвета (например, в случае границ сглаженных символов)
Csaba Toth
20

Вы ищете меню Цвета , и особенно функцию Colorize .

Бобби
источник
3
Это только раскрашивает пиксель, на котором я его использую. Выбор по цвету выделил сотни пикселей по всему изображению.
ProfK
1
Сохраняет ли это затенение, в результате чего оттенки от темно-синего до светло-синего?
Питер Мортенсен
8

Чтобы изменить цвет на другой определенный цвет, я предлагаю использовать Colorify .

Предположим, мы хотим изменить синий цвет (# 05adee) логотипа суперпользователя на зеленый цвет рядом с # 05ad27.

  1. ЦветаЦвет к альфе : выберите дополнительный цвет, который будет прозрачным (в нашем примере это белый цвет)

введите описание изображения здесь

  1. ЦветаЦветПользовательский цвет : выберите цвет назначения и добавьте 10-40 к значению (HSV)

введите описание изображения здесь

  1. Установите вторичный цвет как цвет фона (белый в нашем примере)
  2. ИзображениеСвести изображение

Использование GIMP 2.8.6.

Марко Лацкович
источник
1
Это работает с оттенком, оттенками от темно-синего до светло-синего?
Питер Мортенсен
1
Да. Если вы увеличите два образца, которые я разместил, вы увидите, что оттенки правильно изменены.
Марко Лацкович
Это делает мое изображение намного темнее, чем должно быть. Есть ли способ, которым я могу заменить один градиент цвета другим градиентом цвета?
Аарон Франке
5

Первым успешным методом, который я обнаружил, чтобы сделать то же самое, было использование ImageMagick, но с оператором, отличным от предложенного ранее --separate / -swap.

Другой оператор - -recolor или -color-matrix, в зависимости от версии ImageMagick.

В частности, потому что я знал «основной цвет» исходного изображения (зеленый, в вашем случае и мой), и я знал «основной цвет» в желаемом конечном изображении (синий, в вашем случае, оранжевый в моем), я дал ImageMagick '-recolor / -color-matrix опция матрица преобразования со значениями, которые отражают различия в каждом из каналов RGB.

Например, в моем случае полностью зеленый цвет был R: 141 G: 198 B: 63, и я хотел, чтобы он был изменен на R: 231 G: 159 B: 70. Остальные цвета хотели изменить в равной степени.

Так что это означает, что я хотел, чтобы значение R новых пикселей было 231/141-ым от текущего значения красного. Значения зеленого цвета должны быть 159/198 от текущих значений. И синие значения должны быть 63/70 от текущих значений.

Так:

convert input.png -recolor      "1.638297872 0 0    0 0.803030303 0   0 0 1.111111111" output.png

или же

convert input.png -color-matrix "1.638297872 0 0    0 0.803030303 0   0 0 1.111111111" output.png

или же

Похоже, это сработало в одно мгновение после бесполезной траты времени на борьбу с Gimp / plugins и paint.net/plugins.

Алекс Робинсон
источник
3
  1. Измените цвет переднего плана на желаемый цвет. (например синий в вашем случае)
  2. Изменить фон на белый или что-то
  3. Откройте инструмент градиента и установите FG на BG или FG на прозрачный.
  4. Выберите область или цвет, используя «Выбор по цвету»
  5. Цвета -> Карта -> Градиентная карта
РОЭЛ
источник
2

Я не знаю, как это сделать в GIMP, но в ImageMagick есть функции для разделения и объединения цветовых каналов. Смотрите эту страницу .

Я смог преобразовать зеленый GIF-файл в синий с помощью этой команды:

convert input.gif -separate -swap 1,2 -combine output.gif

Я думаю, что 1 и 2 относятся к зеленому и синему каналам, 0 - к красному.

W_Whalley
источник
2

Если вы обновите HUE существующим цветом изображения, то цвет будет инициирован с этими уровнями ... Сначала нужно сделать белый фон #fff. я сделал

Цвета -> Colorize и установите яркость оттенка на 100 ... это удалит любой цвет с вашего изображения.

Затем Вы можете использовать Цвета -> Раскрасить и применить нужный цвет.

Марио Руис
источник
1

На простой маленькой графике я много увеличиваю, а затем сам меняю цвета с помощью кисти.

Просто измените размер кисти на 1 пиксель.

Эд Б
источник
4
-1 Это не практично, если есть градиент, вам придется менять десятки разных цветов.
Слеск
1
Два приведенных выше решения Gimp не намного лучше, так что, похоже, я застрял с этим.
ProfK