Entfernen Sie den Alpha-Kanal vs. Flatten Image in GIMP

Weiß jemand, wie Remove Alpha Channel funktioniert und was Flatten Image genau macht (z. B. welche Operationen es ausführt und in welcher Reihenfolge)? Insbesondere versuche ich zu verstehen, warum sie bei einem 1x1-Pixel-Bild (einschichtig) mit den folgenden RGBA-Werten für das einzige Pixel unterschiedliche Ergebnisse erzielen: 78:69:128:254. „Alphakanal entfernen“ erzeugt ein Pixel mit den RGB-Werten 79:70:128, während „Bild reduzieren“ ein Pixel mit den RGB-Werten 79:70:129 erzeugt. Dies wurde auf GIMP 2.6.10 und 2.8.14 getestet. Die in der Toolbox vorgegebene Hintergrundfarbe war bei allen Tests Weiß (RGB-Werte 255:255:255).

BEARBEITUNGEN

  • Informationen zur Hintergrundfarbe hinzugefügt

Antworten (2)

Flatten imagestaucht alle Ebenen über einem virtuellen undurchsichtigen Hintergrund, der mit der Hintergrundfarbe gefüllt ist, sodass die RBG-Werte des Ergebnisses von der aktuellen Hintergrundfarbe abhängen.

Hast du deine Hypothese getestet?
Ja. Einfach zu testen... Schon selbst probiert?
Können Sie dann beschreiben, was Sie versucht haben und was passiert ist?
Erstellen Sie eine gelbe Ebene (255,255,0), verwenden Sie eine Ebenenmaske, um die Deckkraft auf 50% einzustellen. Setzen Sie die Hintergrundfarbe auf Rot (255,0,0). Bild glätten, wie erwartet, das Ergebnis ist orange und entspricht dem, was ich bekomme, wenn ich eine rote Ebene unter der halbtransparenten gelben Ebene hinzufüge. Und du?
Ich könnte überzeugt sein, dass dieses Beispiel den Punkt unterstützt, dass „Bild glätten alle Ebenen über einem virtuellen undurchsichtigen Hintergrund zusammendrückt, der mit der Hintergrundfarbe gefüllt ist“, aber ich habe um eine TECHNISCHE Erklärung gebeten, wie Bild glätten funktioniert. Außerdem sehe ich nicht, wie das Beispiel die Hypothese unterstützt, dass das Entfernen des Alphakanals die RGB-Werte NICHT beeinflusst. Meine Beobachtungen sagen etwas anderes (siehe meine Frage für einen Testfall) und ich fragte, ob jemand erklären könnte (wieder in Fachsprache), wie Remove Alpha Channel funktioniert.
@SJU Flatten-Bild funktioniert genau wie Ihre Anzeigevorschau, es wendet alle Ebenen auf die Hintergrundfarbe an. So steht es zumindest in der Anleitung. Aber das ist es, was Flatten tun soll, alle Schichten entfernen.

Definitionen aus dem Dokument :

  • Bild glätten: Wenn es Bereiche gibt, die durch alle Ebenen des Originalbildes transparent sind, ist die Hintergrundfarbe sichtbar. . Das wäre also dasselbe wie das Hinzufügen einer Hintergrundebene und das Zusammenführen nach unten.
  • Alphakanal entfernen: Wenn die aktive Ebene nicht die Hintergrundebene ist, wird die Transparenz durch die Hintergrundfarbe der Toolbox ersetzt. Das ist die Beschreibung, die ich für den Bucket-Filling-Modus verwendet hätte behind.

Es gibt also mehrere Operationen, die alle dasselbe Ergebnis liefern sollten:

  • Eimerfüllung weiß im „Behind“-Modus
  • Auf weißem Hintergrund nach unten zusammenführen
  • Zeigerwerkzeug mit "Sample Merged" auf weißem Hintergrund
  • Bild mit weißem Hintergrund glätten:
  • Bild ohne weißen Hintergrund glätten:
  • Alphakanal entfernen

Experimentieren mit 78:69:128:254:

* Bucket fill white in 'Behind' mode:              78:69:128
* Merge down over white BG:                        78:69:128
* Pointer tool with "Sample merged" over white BG: 78:69:128
* Flatten image with white BG:                     79:70:129
* Flatten image without white BG:                  79:70:129
* Remove alpha channel:                            79:70:128

Die ersten drei sind konsistent, #4 überrascht, weil es nicht das gleiche Ergebnis wie #2 liefert.

Verwenden Sie einen weniger extremen Deckkraftwert und experimentieren Sie mit 78:69:128:200:

* Bucket fill white in 'Behind' mode:              116:109:155
* Merge down over white BG:                        116:109:155
* Pointer tool with "Sample merged" over white BG: 116:109:155
* Flatten image with white BG:                     116:109:155
* Flatten image without white BG:                  116:109:155
* Remove alpha channel:                            116:109:155

Hier liefern alle das gleiche Ergebnis.

Es gibt also wahrscheinlich leicht unterschiedliche Methoden (das Abflachen des Bildes könnte einige Abkürzungen erfordern), die unterschiedlich von Rundungsfehlern betroffen sind (ja, ich weiß, dass dies keine Antwort ist, aber es zeigt einige Methoden, die immer das gleiche Ergebnis liefern).

Liefert Test #6 nicht auch überraschende Ergebnisse (in der ersten Runde)? Mit welcher Version von GIMP hast du deine Tests durchgeführt?
Ja, aber das hattest du schon herausgefunden. Verwendung von 2.8.22 Linux.