Ich bin vor kurzem auf ein sehr eigenartiges Bild mit seltsamen Eigenschaften gestoßen. Das Bild ist im PNG-Format und zeigt nur einen einfachen Vogel mit einem transparenten Hintergrund. Mein Freund hat mir das Bild mit einfachen Anweisungen geschickt, um es zu speichern und als Hintergrund festzulegen.
Nachdem ich das Bild als Hintergrund eingestellt habe, erscheint ein zweites Bild, das zeigt, dass die Möwe tatsächlich auf einer Waffe steht:
Das hat mich zunächst sehr neugierig gemacht auf die Natur des Bildes und wie man ein solches Bild macht. Ich habe das Bild in Photoshop geöffnet und es erscheint nichts Außergewöhnliches - das Bild ist immer noch das gleiche wie bei der transparenten Möwe, es gibt keine versteckten Ebenen oder Masken, um es unsichtbar zu machen. Nachdem ich das Bild in Photoshop überprüft hatte, hatte ich gedacht, dass Windows Änderungen an der Datei vorgenommen hat, als ich sie als Desktop-Hintergrund festgelegt habe - nachdem ich zu %AppData%\Microsoft\Windows\Themes
dem Bild navigiert hatte, schien es dasselbe zu sein.
Warum zeigt dieses Bild eine separate ausgeblendete Ebene oder ein vollständig separates Bild, wenn es als Windows-Desktophintergrund festgelegt wird, im Vergleich zum Anzeigen oder Bearbeiten in Photoshop?
Antworten:
Ich vermute, es ist das, was in diesem Artikel aus dem Smashing Magazine "Schmutzige Transparenz" genannt wurde .
Grundsätzlich kann jede Farbe in transparenten PNGs durch einen RGBA-Wert beschrieben werden, wobei RGB für die Kanäle Rot, Grün und Blau und A für Alpha steht. Die "unsichtbaren" Farben können beliebige RGB-Werte + 0 Alpha haben, was bedeutet, dass die Farbe die ursprünglichen Informationen beibehält, aber als transparent dargestellt wird, da das Alpha auf 0 gesetzt ist.
Warum sollten Sie die RGB-Werte speichern, wenn Alpha verwendet wird? So erhalten Sie glatte Kanten und transparente Farben - im Gegensatz zu gezackten Kanten in GIFs mit transparentem Hintergrund. Die Transparenz in PNG kann von 0 bis 255 gehen, in GIFs ist sie entweder 100% transparent oder undurchsichtig. Um etwas mit einer Transparenz von beispielsweise 50% zu rendern, müssen Sie die RGB-Werte noch kennen, daher wird der Wert gespeichert. Die meisten Bildbearbeitungsprogramme, einschließlich Photoshop, verwerfen diese RGB-Informationen, wenn sie eine vollständig transparente Farbe speichern.
Ich kann nicht für CC-Versionen sprechen, aber um die "unsichtbaren" Farben in älteren Photoshop-Versionen zu sehen, benötigen Sie ein Plugin. Wähle eins: Fotofreebies oder SuperPNG . SuperPNG scheint aktueller und übersichtlicher zu sein.
Warum funktioniert der Trick? Tapeten müssen undurchsichtig sein, weil nichts "dahinter" zu sehen ist, oder? Ich vermute, dass Windows die Alphakanalinformationen verwirft und dabei die verborgenen RGB-Werte aufdeckt.
quelle
Um Nihals Antwort zu ergänzen , kann dies mit dem "Anti-Erase" -Pinsel in der GIMP reproduziert werden. Mit dem Löschpinsel können Sie einen Alphakanal hinzufügen oder entfernen, wenn das Bild ein unterstütztes Format verwendet. Halten Sie die Alt-Taste gedrückt, um zwischen Löschen und Antilöschen zu wechseln.
Für Krita, können Sie dies tun:
Layer > Split Alpha > Alpha into Mask
. Anschließend können Sie den soeben erstellten Kanal für Transparenzmaske 1 ausblenden oder löschen, um das vollständige Bild anzuzeigen.Da der Windows-Hintergrund nichts dahinter haben kann, wird wahrscheinlich nur die Transparenz entfernt und das Bild ohne sie angezeigt (schnelles und unsauberes 32-Bit-Bild bis 24-Bit-Bild, so wie es aussieht).
quelle
Ein Punkt der Klarstellung: Dies ist kein Fehler, es ist das Verhalten in der PNG-Spezifikation angegeben. Insbesondere heißt es in der Spezifikation, dass der Alphakanal ignoriert werden kann, wenn ein Betrachter oder Konverter Transparenz nicht versteht oder Transparenz für einen Kontext oder eine Verwendung nicht geeignet ist. Ferner fordert die Spezifikation, dass alle Bildgeneratoren die transparenten Farben so einstellen, dass das Bild nützlich ist, wenn der Alphakanal ignoriert wird. (Meine Umschreibung: Ich habe die Spezifikation vor ein paar Jahren gelesen.)
quelle