Wie kann man Farben (Formfarbe und Hintergrundfarbe) ersetzen?

824
dengApro

Ich möchte den weißen Hintergrund in #3D94DB(Hex-Triplett-Notation) und die schwarzen Linien in Weiß ändern. Das Bild sieht wie folgt aus:

O

Folgendes habe ich erreicht:

Ein

convert input.png +level-colors red, output.png 

Ich habe die Farbe der Linien in rot geändert. Weiß ist also einfach.

Wie kann ich beide Farben ändern?

Lesen von imagemagick: color_basics

convert balloon.gif -alpha set -channel RGBA \ -fill none -opaque blue balloon_none.gif 

Also hier ist mein Code:

 convert input.png +level-colors gray, output.png convert output.png -fill "#3D94DB" -opaque white target.png 

Ergebnis

Und wenn Sie es auf den Kopf stellen, ist das Ergebnis peinlich.

Die Verwendung von Photoshop ist einfach, aber ich muss viele Symbole verwenden.

Können Sie mir bitte eine bessere Lösung zeigen?

2

1 Antwort auf die Frage

5
Anaksunaman

Ich möchte den weißen Hintergrund in # 3D94DB (Hex-Triplet-Notation) und die schwarzen Linien in Weiß ändern.

Wie Sie vielleicht bereits bemerkt haben, gibt es tatsächlich subtile Abstufungen (von schwarz nach weiß) der "schwarzen" Linien in Ihrem Beispielsymbol (wahrscheinlich aufgrund von Anti-Aliasing). Diese müssen intakt bleiben, um das Aussehen des Symbols zu erhalten:

Ursprüngliches Symbol mit Abstufungen

Per ImageMagick Usage Guide auf Pegeleinstellung nach Farbe, + Level-Farbe wird dazu beitragen, sowohl die „schwarz“ und „weiß“ Farben ändern, um die richtige Farbabstufungen geben, sowie ( in etwa):

convert input.png +level-colors white,"#3D94DB" target.png 

Mit Ihrem Beispielsymbol führt dieser Befehl zu folgenden Ergebnissen:

Zielsymbol Ergebnisse - weiß auf blau


Vorsichtsmaßnahmen:

  • Im obigen Befehl ist die Reihenfolge der Ersatzfarben für Schwarz und dann für Weiß.

  • Zwischen den Ersatzfarben dürfen keine Leerzeichen stehen, da sonst der Befehl fehlschlägt.

  • Aufgrund des gewünschten Effekts funktioniert der Befehl nur für Schwarzweißbilder. Bilder mit anderen Farben führen zu unerwarteten Ergebnissen. Zweifarbige Bilder funktionieren ebenfalls am besten, wenn Sie ein Farbbild in Graustufen konvertieren.