Wie kann die Farbe, die für Transparenz verwendet wird, automatisch oder programmgesteuert geändert werden?

801
Berry Tsakala

Für jedes Bild (z. B. bmp, png) hat ein transparenter Punkt tatsächlich eine Farbe

Die Transparenz ist entweder

  • durch Alpha-Kanalmaske definiert (zB in PNG)
  • oder eine der Farben ist als transparent definiert, und das Viewer-Programm ist dafür verantwortlich, Pixel durch diese Farbe zu ersetzen - als transparent.

Ich habe ein seltsames Szenario, bei dem ein Programm Transparenz kennt und das andere die ursprüngliche Farbe nicht zeigt.

So

Ich möchte die Farbe nur in den Pixeln ersetzen, in denen sie als transparent definiert ist. Ich brauche alles, um als weiß definiert zu werden, während es transparent bleibt

Ich kann meine Eingabe in ein bestimmtes Format vorkonvertieren, wenn es dem Prozess hilft.

Zur Zeit beinhaltet meine Toolbox: ImageMagick, Gimp, Python-Programmierung (PIL) und vielleicht mehr, aber ich weiß nicht, wie ich diese spezielle Aufgabe mit diesen Tools erledigen soll.

2

1 Antwort auf die Frage

1
Noam Kremen

Versuchen:

 convert infile -fill white -opaque none outfile 
nein: es löscht die transparenz - ich möchte die transparenz behalten, aber die farbe dahinter ersetzen! Ich habe meine Frage umformuliert. תודה בכל אופן. Berry Tsakala vor 13 Jahren 0
Vielleicht wird [this] (http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=11398) helfen. Noam Kremen vor 13 Jahren 0