Mudar uma cor para outra?


109

No GIMP, eu tenho uma imagem GIF de botão verde: ele vai de verde escuro a verde claro, contra um fundo transparente. Gostaria de alterá-lo para azul e manter o sombreamento, para que ele passe de azul escuro para azul claro.

Como posso fazer isso?

Respostas:


83

Se você carregar uma imagem GIF, provavelmente terá uma imagem em paleta. Altere-o primeiro para RGB com: Imagem → Modo → RGB . Alterar cores (incluindo operações de redimensionamento) não funcionará muito bem com paletas, porque o Gimp limita sua seleção de cores às cores definidas na paleta.

Sugiro rotacionar Matiz em Cores → Matiz-Saturação .

Dada uma imagem inicial como esta:

gradiente verde

Você muda o Hue primeiro, clicando em Master e, em seguida, arrastando o controle deslizante Hue e, em seguida, ajusta o brilho e o contraste ao seu gosto.

Ajustar matiz em cores -> Matiz-Saturação

O resultado fica assim:

gradiente azul

Você pode facilmente torná-lo mais frio ou mais quente, mais escuro ou mais claro, mais ou menos saturado.


3
Boa resposta. Como observação adicional, se o seu botão contiver uma borda, isso também mudará de cor. Para evitar isso, use a ferramenta de seleção para selecionar apenas a área que você gostaria de recolorir e, em seguida, execute Matiz-Saturação.
— Lee Harrison

1
E se eu quiser alterar a imagem para um determinado valor RGB?
— Aaron Franke

77

Se você estiver usando o GIMP 2.8.2, poderá usar de maneira simples Colors -> Map -> Color Exchange.

Fonte: Como posso trocar cores com o GIMP?


2
Isso também parece capaz de operar em uma região clicada de pixels contíguos, não em todos os pixels selecionados. Como comentei acima, isso colorirá o pixel em que o invoco. O Selecionar por cor selecionou centenas de pixels em toda a imagem.
— ProfK 23/03

3
@ProfKaos Funciona bem para mim. Caso nada esteja selecionado, o Color Exchange altera todos os pixels da imagem inteira.
— precisa saber é o seguinte

3
Estou procurando uma transformação matemática. Eu estou convertendo # 650000 para # 590000, então eu sinto que eu deveria ser capaz de aplicar -060.000 para cada pixel, mas eu não vejo nenhuma maneira fácil ...
— isaaclw

Você também pode usar "Cores -> Mapa -> Mapa de gradiente" para alterar os gradientes. Muito útil
— Javier Constanzo

1
Essa é a resposta. Ao ajustar o limite, a pessoa também pode lidar com os tons da cor (por exemplo em caso de limites de caracteres anti-aliasing)
— Csaba Toth

20

Você está procurando o menu Cores , e especialmente a função Colorizar .


3
Isso apenas colorirá o pixel em que eu o invoco. O Selecionar por cor selecionou centenas de pixels em toda a imagem.
— ProfK 23/03

1
Isso mantém o sombreamento, resultando tons de azul escuro a azul claro?
— Peter Mortensen

8

Para alterar uma cor para outra cor específica, sugiro usar o Colorify .

Suponha que desejamos alterar a cor azul (# 05adee) do logotipo do superusuário para uma cor verde próxima a # 05ad27.

  1. Cores → Cor para Alfa : escolha a cor secundária que será transparente (branco em nosso exemplo)

insira a descrição da imagem aqui

  1. Cores → Colorir → Cor personalizada : escolha a cor de destino e adicione cerca de 10 a 40 ao Valor (do HSV)

insira a descrição da imagem aqui

  1. Defina a cor secundária como cor de fundo (branca em nosso exemplo)
  2. Imagem → Nivelar imagem

Usando o GIMP 2.8.6.


1
Isso funciona com um sombreamento, tons de azul escuro a azul claro?
— Peter Mortensen

1
Sim. Se você ampliar as duas amostras que publiquei, verá que as tonalidades foram alteradas corretamente.
— Marco Lackovic

Isso torna minha imagem muito mais escura do que deveria ser. Existe uma maneira de substituir um gradiente de cor por outro gradiente de cor?
— Aaron Franke

5

O primeiro método bem-sucedido que encontrei para fazer o mesmo tipo de coisa foi usar o ImageMagick, mas com um operador diferente do sugerido anteriormente --separate / -swap.

O operador diferente é -recolor ou -color-matrix, dependendo da versão do ImageMagick.

Especificamente, porque conhecia uma "cor principal" da imagem original (verde, no seu caso e a minha) e conhecia a "cor principal" na imagem de resultado desejada (azul, no seu caso, laranja na minha), dei A opção ImageMagick '-recolor / -color-matrix é uma matriz de transformação com valores que refletem as diferenças em cada um dos canais RGB.

Por exemplo, no meu caso, a cor totalmente verde era R: 141 G: 198 B: 63 e eu queria que fosse alterada para R: 231 G: 159 B: 70. O restante das cores queria ser alterado de forma equivalente.

Isso significa que eu queria que o valor R dos novos pixels fosse 231 / 141º do valor atual do vermelho. Os valores em verde devem ser 159 / 198º dos valores atuais. E os valores em azul devem ser 63/70 dos valores atuais.

Assim:

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

ou

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

ou

Isso pareceu funcionar rapidamente depois de passar muito tempo lutando com Gimp / plugins e paint.net/plugins.


3
  1. Mude a cor do primeiro plano para a cor desejada. (por exemplo, azul no seu caso)
  2. Mude o fundo para branco ou algo assim
  3. Abra a ferramenta Gradiente e defina FG como BG ou FG como transparente.
  4. Selecione a área ou a cor usando 'Selecionar por cor'
  5. Cores -> Mapa -> Mapa de Degradê

2

Não sei como fazer isso no GIMP, mas o ImageMagick tem funções para separar e combinar canais de cores. Veja esta página .

Consegui converter um arquivo GIF verde em azul com este comando:

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

Eu acho que 1 e 2 se referem aos canais verde e azul, 0 é vermelho.


2

Se você atualizar o HUE com uma cor de imagem existente, o matiz será iniciado com esses níveis ... É necessário primeiro criar um fundo branco #fff. eu fiz

Cores -> Colorir e definir a luminosidade HUE para 100 ... isso removerá qualquer cor da sua imagem.

Então você pode usar Cores -> Colorificar e aplicar a cor desejada.


1

Em gráficos pequenos e simples, amplio bastante e depois mudo as cores usando o pincel.

Apenas altere o tamanho do pincel para 1 pixel.


4
-1 Isso não é prático se houver um gradiente, você precisará alterar dezenas de cores diferentes.
— sleske

1
As duas soluções Gimp dadas até agora não são muito melhores, então parece que estou preso a ela.
— ProfK 23/03
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.