Changer une couleur en une autre?

109

Dans GIMP, j'ai une image GIF de bouton vert: elle passe du vert foncé au vert clair, sur un fond transparent. Je voudrais le changer en bleu et conserver les ombres pour qu'il passe du bleu foncé au bleu clair.

Comment puis-je faire ceci?

Braiam
la source

Réponses:

83

Si vous chargez une image GIF, vous avez probablement une image palettisée. Assurez-vous de le changer d'abord en RVB avec: ImageModeRVB . Changer les couleurs (y compris les opérations de redimensionnement) ne fonctionnera pas très bien avec les palettes car Gimp limite sa sélection de couleurs aux couleurs définies dans la palette.

Je suggère de faire tourner Teinte dans CouleursTeinte-Saturation .

Étant donné une image initiale comme celle-ci:

dégradé vert

Vous modifiez d'abord la teinte en cliquant sur le masque, puis en faisant glisser le curseur Teinte, puis vous ajustez la luminosité et le contraste à votre guise.

Ajuster la teinte dans les couleurs -> Teinte-Saturation

Le résultat ressemble à ceci:

dégradé bleu

Vous pouvez facilement le rendre plus froid ou plus chaud, plus foncé ou plus clair, plus ou moins saturé.

sastanine
la source
3
Bonne réponse. Comme note supplémentaire, si votre bouton contient une bordure, sa couleur sera également modifiée. Pour éviter cela, utilisez l'outil de sélection pour sélectionner uniquement la zone que vous souhaitez recolorer, puis exécutez Teinte-Saturation.
Lee Harrison
1
Et si je veux changer l'image en une valeur RVB donnée?
Aaron Franke
77

Si vous utilisez GIMP 2.8.2, vous pouvez l'utiliser facilement Colors -> Map -> Color Exchange.

Source: Comment puis-je échanger des couleurs avec GIMP?

Patricio
la source
2
Cela semble également uniquement capable de fonctionner sur une région cliquée de pixels adjacents, pas sur tous les pixels sélectionnés. Comme je l'ai dit plus haut, cela colorise le pixel sur lequel je l'invoque. La sélection par couleur a sélectionné des centaines de pixels sur toute l’image.
ProfK
3
@ProfKaos Cela fonctionne très bien pour moi. Dans le cas où je n'ai rien sélectionné, Color Exchange modifie tous les pixels de toute l'image.
MasterPJ
3
Je cherche une transformation mathématique. Je suis en train de convertir les # 650000 en # 590000, alors je pense que je devrais pouvoir appliquer -060000 à chaque pixel, mais je ne vois pas de moyen facile ...
isaaclw
Vous pouvez également utiliser "Couleurs -> Carte -> Carte de dégradé" pour modifier les dégradés. Très utile
Javier Constanzo
2
C'est la réponse. En ajustant le seuil, on peut également gérer les tons de la couleur (par exemple en cas de limites de caractères anti-aliasés)
Csaba Toth le
20

Vous recherchez les couleurs du menu , et plus particulièrement la fonction Coloriser .

Policier
la source
3
Cela ne fait que coloriser le pixel sur lequel je l’invoque. La sélection par couleur a sélectionné des centaines de pixels sur toute l’image.
ProfK
1
Est-ce que cela garde les nuances résultant du bleu foncé au bleu clair?
Peter Mortensen
8

Pour changer une couleur en une autre couleur spécifique, je suggère d'utiliser Colorify .

Supposons que nous voulions changer la couleur bleue (# 05adee) du logo du superutilisateur en une couleur verte proche de # 05ad27.

  1. CouleursCouleur à Alpha : choisissez la couleur secondaire qui sera rendue transparente (le blanc dans notre exemple)

entrez la description de l'image ici

  1. CouleursColorifierCouleur personnalisée : choisissez la couleur de destination et ajoutez environ 10 à 40 à la valeur (du HSV)

entrez la description de l'image ici

  1. Définir la couleur secondaire comme couleur de fond (blanc dans notre exemple)
  2. ImageAplatir l'image

Utiliser GIMP 2.8.6.

Marco Lackovic
la source
1
Cela fonctionne-t-il avec une nuance allant du bleu foncé au bleu clair?
Peter Mortensen
1
Oui. Si vous zoomez sur les deux échantillons que j'ai postés, vous verrez que les nuances sont correctement modifiées.
Marco Lackovic
Cela rend mon image beaucoup plus sombre qu'elle ne devrait l'être. Est-il possible de remplacer un dégradé de couleur par un autre?
Aaron Franke
5

La première méthode réussie que j'ai trouvée pour faire le même genre de chose a été d'utiliser ImageMagick, mais avec un opérateur différent de celui suggéré plus tôt --separate / -swap.

L'opérateur différent est -recolor ou -color-matrix, selon la version de ImageMagick.

Plus précisément, parce que je connaissais une "couleur maître" de l'image d'origine (vert, dans votre cas et le mien) et que je connaissais la "couleur maître" de l'image du résultat souhaité (bleu, dans votre cas, orange dans le mien), j'ai ImageMagick 'option -recolor / -color-matrix Une matrice de transformation avec des valeurs reflétant les différences entre chacun des canaux RVB.

Par exemple, dans mon cas, la couleur entièrement verte était R: 141 G: 198 B: 63 et je voulais la changer en R: 231 G: 159 B: 70. Le reste des couleurs voulait être changé de manière équivalente.

Cela signifie donc que je voulais que la valeur R des nouveaux pixels soit 231 / 141e de la valeur rouge actuelle. Les valeurs vertes doivent être 159 / 198e des valeurs actuelles. Et les valeurs bleues doivent être 63/70 des valeurs actuelles.

Alors:

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

Cela semblait fonctionner en un éclair après avoir vainement passé beaucoup de temps à lutter avec Gimp / plugins et paint.net/plugins.

Alex Robinson
la source
3
  1. Changez votre couleur de premier plan à la couleur désirée. (par exemple bleu dans votre cas)
  2. Changer le fond en blanc ou quelque chose
  3. Ouvrez l'outil de dégradé et définissez FG sur BG ou FG sur transparent.
  4. Sélectionnez une zone ou une couleur en utilisant "Sélectionner par couleur"
  5. Couleurs -> Carte -> Carte de dégradé
roel
la source
2

Je ne sais pas comment le faire dans GIMP, mais ImageMagick a des fonctions pour séparer et combiner les canaux de couleur. Voir cette page .

J'ai été capable de convertir un fichier GIF vert en bleu avec cette commande:

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

Je suppose que 1 et 2 se réfèrent aux canaux vert et bleu, 0 est le rouge.

W_Whalley
la source
2

Si vous mettez à jour la HUE avec une couleur d'image existante, la teinte sera lancée avec ces niveaux ... Vous devez d'abord créer un arrière-plan blanc #fff. J'ai fait

Couleurs -> Coloriser et régler la luminosité de HUE sur 100 ... cela supprimera toute couleur de votre image.

Ensuite, vous pouvez utiliser Couleurs -> Colorifier et appliquer la couleur souhaitée.

mario ruiz
la source
1

Sur de simples petits graphiques, je fais beaucoup de zoom avant de changer les couleurs moi-même en utilisant le pinceau.

Il suffit de changer la taille du pinceau en 1 pixel.

Ed B
la source
4
-1 Ce n'est pas pratique s'il y a un dégradé, il faudrait changer des dizaines de couleurs différentes.
Sleske
1
Les deux solutions Gimp données ci-dessus ne sont pas vraiment meilleures, il semble donc que je suis coincé avec elle.
ProfK