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: ImagemModoRGB . 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 CoresMatiz-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. CoresCor para Alfa : escolha a cor secundária que será transparente (branco em nosso exemplo)

insira a descrição da imagem aqui

  1. CoresColorirCor 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. ImagemNivelar 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.