Transparenz (Grafik) – Wikipedia

before-content-x4

Transparenz ist in einer Reihe von Grafikdateiformaten möglich. Der Begriff “Transparenz” wird von verschiedenen Personen auf verschiedene Weise verwendet, aber im einfachsten Fall gibt es “vollständige Transparenz”, dh etwas, das völlig unsichtbar ist. Nur ein Teil einer Grafik sollte vollständig transparent sein, da sonst nichts zu sehen ist. Komplexer ist “teilweise Transparenz” oder “Transluzenz”[citation needed] Hier wird der Effekt erzielt, dass eine Grafik wie farbiges Glas teilweise transparent ist. Da eine gedruckte Seite, ein Computer oder ein Fernsehbildschirm letztendlich nur eine Farbe an einem Punkt haben kann, wird eine teilweise Transparenz immer auf einer bestimmten Ebene durch Mischen von Farben simuliert. Es gibt viele verschiedene Möglichkeiten, Farben zu mischen, daher ist die Transparenz in einigen Fällen nicht eindeutig.

Darüber hinaus ist Transparenz häufig ein “Extra” für ein Grafikformat, und einige Grafikprogramme ignorieren die Transparenz.

Zu den Raster-Dateiformaten, die Transparenz unterstützen, gehören GIF, PNG, BMP, TIFF, TGA und JPEG 2000 über a transparente Farbe oder ein Alpha-Kanal.

Die meisten Vektorformate unterstützen implizit die Transparenz, da sie einfach vermeiden, Objekte an einem bestimmten Punkt zu platzieren. Dies beinhaltet EPS und WMF. Für Vektorgrafiken wird dies möglicherweise nicht unbedingt als Transparenz angesehen, erfordert jedoch weitgehend die gleiche sorgfältige Programmierung wie Transparenz in Rasterformaten.

Komplexere Vektorformate können Transparenzkombinationen zwischen den Elementen in der Grafik sowie den oben genannten ermöglichen. Dies beinhaltet SVG und PDF.

Ein geeigneter Raster-Grafikeditor zeigt Transparenz durch ein spezielles Muster, z. B. ein Schachbrettmuster.

Transparente Pixel[edit]

Dieses Bild hat binäre Transparenz (einige Pixel vollständig transparent, andere Pixel vollständig undurchsichtig). Es kann vor jedem Hintergrund transparent sein, da es monochrom ist.

Ein Farbeintrag in der Palette eines einzelnen GIF- oder PNG-Bildes kann als “transparent” und nicht als tatsächliche Farbe definiert werden. Dies bedeutet, dass wenn der Decoder auf ein Pixel mit diesem Wert trifft, es in der Hintergrundfarbe des Teils des Bildschirms gerendert wird, auf dem das Bild platziert ist, auch wenn dies Pixel für Pixel variiert, wie im Fall eines Hintergrundbilds.

Anwendungen umfassen:

  • Ein Bild, das nicht rechteckig ist, kann in einer transparenten Umgebung mit dem gewünschten Rechteck gefüllt werden. Das Bild kann sogar Löcher haben (z. B. ringförmig sein).
  • In einem Textlauf kann einem speziellen Symbol, für das ein Bild verwendet wird, weil es im Zeichensatz nicht verfügbar ist, ein transparenter Hintergrund zugewiesen werden, was zu einem passenden Hintergrund führt.

Die transparente Farbe sollte sorgfältig ausgewählt werden, um zu vermeiden, dass Elemente, die zufällig dieselbe Farbe haben, verschwinden.

Selbst diese eingeschränkte Form der Transparenz ist lückenhaft implementiert, obwohl die meisten gängigen Webbrowser transparente GIF-Bilder anzeigen können. Diese Unterstützung erstreckt sich häufig nicht auf das Drucken, insbesondere auf Druckgeräte (wie PostScript), die keine Unterstützung für Transparenz im Gerät oder Treiber enthalten. Außerhalb der Welt der Webbrowser ist die Unterstützung für transparente GIF-Dateien ein Hit oder Miss.

Kantenbeschränkungen für transparente Pixel[edit]

Dieses Bild hat binäre Transparenz. Es ist jedoch Graustufen mit Anti-Aliasing, sodass es nur vor einem weißen Hintergrund gut aussieht. Vor einem anderen Hintergrund würde sich ein “Ghosting” -Effekt aus den Graustufen ergeben.

Die Ränder von Zeichen und anderen Bildern mit transparentem Hintergrund sollten keine Graustufen aufweisen: Diese werden normalerweise für Zwischenfarben zwischen der Farbe des Buchstabens / Bildes und der des Hintergrunds verwendet, wobei normalerweise Graustufen zwischen einem schwarzen Buchstaben und a liegen weißer Hintergrund. Bei beispielsweise einem roten Hintergrund wären die Zwischenfarben jedoch dunkelrot. Graue Randpixel würden ein hässliches und unklares Ergebnis ergeben. Für eine variable Hintergrundfarbe gibt es keine geeigneten festen Zwischenfarben.

Teiltransparenz durch Alphakanäle[edit]

Dieses Bild weist eine teilweise Transparenz auf (254 mögliche Transparenzstufen zwischen vollständig transparent und vollständig undurchsichtig). Es kann vor jedem Hintergrund transparent sein, obwohl es gegen Aliasing ist.

Einige Bildformate wie PNG und TIFF ermöglichen auch eine teilweise Transparenz über einen Alphakanal, wodurch das Problem der Kantenbegrenzung gelöst wird. Anstatt dass jedes Pixel entweder transparent oder nicht transparent ist, kann es auf 254 teilweise transparente Ebenen eingestellt werden, sodass ein Teil des Hintergrundbilds durch das Vordergrundbild angezeigt werden kann.

Eine Hauptanwendung der partiellen Transparenz besteht darin, “weiche Kanten” in Grafiken zu erzeugen, so dass sie in ihren Hintergrund passen.[1] Siehe auch Monochrom oder mit Graustufen und Anti-Aliasing. Teiltransparenz kann auch verwendet werden, um ein Bild weniger hervorzuheben, z. B. ein Wasserzeichen oder ein anderes Logo. oder um etwas Durchsichtiges zu rendern, wie eine gespenstische Erscheinung in einem Videospiel. Das Animieren des Alphakanals in einem Bildbearbeitungsprogramm kann reibungslose Übergänge zwischen verschiedenen Bildern ermöglichen.

Der Prozess des Kombinierens einer teilweise transparenten Farbe mit ihrem Hintergrund (“Compositing”) ist häufig schlecht definiert und die Ergebnisse sind möglicherweise nicht in allen Fällen exakt gleich. Sollten beispielsweise bei der Farbkorrektur die Farben vor oder nach der Farbkorrektur zusammengesetzt werden?

Dieses Bild zeigt die Ergebnisse der Überlagerung jedes der obigen transparenten PNG-Bilder mit einer Hintergrundfarbe von # 6080A0. Beachten Sie die grauen Ränder auf den Buchstaben des mittleren Bildes.

Dies zeigt, wie die obigen Bilder aussehen würden, wenn Sie sie beispielsweise bearbeiten. Das grau-weiße Karomuster würde in Transparenz umgewandelt.

Transparenz durch Beschneidungspfad[edit]

Ein alternativer Ansatz für vollständige Transparenz ist die Verwendung eines Beschneidungspfads. Ein Beschneidungspfad ist einfach eine Form oder ein Umriss, der in Verbindung mit den anderen Grafiken verwendet wird. Alles innerhalb des Pfades ist sichtbar und alles außerhalb des Pfades ist unsichtbar. Der Pfad ist von Natur aus ein Vektor, kann jedoch möglicherweise zum Maskieren von Vektor- und Bitmap-Daten verwendet werden. Clipping-Pfade werden hauptsächlich in PostScript-Dateien verwendet.

Compositing-Berechnungen[edit]

Während einige Transparenzspezifikationen vage sind, können andere mathematische Details darüber geben, wie zwei Farben zusammengesetzt werden sollen. Dies gibt ein ziemlich einfaches Beispiel dafür, wie Compositing-Berechnungen funktionieren, die erwarteten Ergebnisse erzielen und auch Überraschungen hervorrufen können.

In diesem Beispiel sollen zwei Graustufenfarben zusammengesetzt werden. Graustufenwerte werden als Zahlen zwischen 0,0 (weiß) und 1,0 (schwarz) betrachtet. Hervorzuheben: Dies ist nur eine mögliche Regel für Transparenz. Wenn Sie mit Transparenz arbeiten, überprüfen Sie die für Ihre Situation verwendeten Regeln.

Die Farbe an einem Punkt, an dem die Farben G1 und G2 kombiniert werden sollen, ist ( G1 + G2 ) / 2. Einige Konsequenzen davon sind:

  • Wenn die Farben gleich sind, ist das Ergebnis dieselbe Farbe, weil ( G1 + G1 ) /2 = G1.
  • Wenn eine Farbe (G1) weiß (0,0) ist, ist das Ergebnis G2 / 2. Dies ist immer kleiner als ein Wert ungleich Null von G2, daher ist das Ergebnis weißer als G2. (Dies kann leicht umgekehrt werden, wenn G2 weiß ist).
  • Wenn eine Farbe (G1) schwarz (1,0) ist, ist das Ergebnis ( G2 + 1 ) / 2. Dies ist immer mehr als G2, daher ist das Ergebnis schwärzer als G2.
  • Die Formel ist seitdem kommutativ ( G1 + G2 ) / 2 = ( G2 + G1 ) / 2. Dies bedeutet, dass es keine Rolle spielt, in welcher Reihenfolge zwei Grafiken gemischt werden, dh welche der beiden oben und welche unten ist.
  • Die Formel lautet nicht assoziativ seit
( ( G1 + G2 ) / 2 + G3 ) / 2 = G1 / 4 + G2 / 4 + G3 / 2
( G1 + ( G2 + G3 ) / 2 ) / 2 = G1 / 2 + G2 / 4 + G3 / 4

Dies ist wichtig, da beim Kombinieren von drei oder mehr Objekten mit dieser Regel zur Transparenz die endgültige Farbe stark von der Reihenfolge der Berechnungen abhängt.

Obwohl die Formel einfach ist, ist sie möglicherweise nicht ideal. Die menschliche Wahrnehmung der Helligkeit ist nicht linear – wir berücksichtigen nicht unbedingt, dass ein Grauwert von 0,5 auf halbem Weg zwischen Schwarz und Weiß liegt. Solche Details spielen möglicherweise keine Rolle, wenn Transparenz nur zum Weichzeichnen von Kanten verwendet wird. Bei komplexeren Designs kann dies jedoch von Bedeutung sein. Die meisten Menschen, die ernsthaft mit Transparenz arbeiten, müssen die Ergebnisse sehen und können mit den Farben oder (wo möglich) dem Algorithmus herumspielen, um zu den gewünschten Ergebnissen zu gelangen.

Diese Formel kann leicht auf RGB- oder CMYK-Farbe verallgemeinert werden, indem die Formel separat auf jeden Kanal angewendet wird. Zum Beispiel final red = ( R1 + R2 ) / 2. Es kann jedoch nicht auf alle Farbmodelle angewendet werden. Zum Beispiel würde die Laborfarbe zu überraschenden Ergebnissen führen.

Ein alternatives Modell besteht darin, dass an jedem Punkt in jedem Element, das zur Transparenz kombiniert werden soll, eine Farbe und Deckkraft zwischen 0 und 1 zugeordnet ist. Für jeden Farbkanal können Sie mit diesem Modell arbeiten: Wenn es sich um einen Kanal mit Intensität handelt G2 und Deckkraft T2 überlagert einen Kanal mit Intensität G1 und Deckkraft T1 Das Ergebnis ist ein Kanal mit einer Intensität von (1 - T2) * G1 + G2und Deckkraft 1 - (1 - T2) * (1 - T1). Jeder Kanal muss vor der Komposition mit dem entsprechenden Alpha-Wert multipliziert werden (sogenanntes vormultipliziertes Alpha). Die SVG-Dateispezifikation verwendet diese Art der Überblendung. Dies ist eines der Modelle, die in PDF verwendet werden können.

Alpha-Kanäle können auf diese Weise implementiert werden, wobei der Alpha-Kanal eine Opazitätsstufe bereitstellt, die auf alle anderen Kanäle gleichermaßen angewendet werden kann. Um mit der obigen Formel arbeiten zu können, muss die Deckkraft unabhängig von ihrer externen Darstellung auf den Bereich 0 bis 1 skaliert werden (häufig 0 bis 255, wenn 8-Bit-Samples wie “RGBA” verwendet werden).

Transparenz in PDF[edit]

Ab Version 1.4 des PDF-Standards (Adobe Acrobat Version 5) wird Transparenz (einschließlich Transluzenz) unterstützt. Durch die Transparenz in PDF-Dateien können Ersteller verschiedene Effekte erzielen, darunter das Hinzufügen von Schatten zu Objekten, das Halbtransparieren von Objekten und das Mischen von Objekten ineinander oder in Text. PDF unterstützt viele verschiedene Mischmodi, nicht nur die gängigste Mittelungsmethode, und die Regeln für das Zusammensetzen vieler überlappender Objekte ermöglichen die Auswahl (z. B. ob eine Gruppe von Objekten vor dem Mischen mit dem Hintergrund gemischt wird oder ob jedes Objekt der Reihe nach gemischt wird in den Hintergrund).

PDF-Transparenz ist ein sehr komplexes Modell, dessen ursprüngliche Spezifikation von Adobe über 100 Seiten umfasst. Eine Hauptursache für Komplikationen ist, dass das Mischen von Objekten mit unterschiedlichen Farbräumen schwierig und fehleranfällig sein und Kompatibilitätsprobleme verursachen kann. Transparenz in PDF wurde entwickelt, um keine Fehler in PDF-Viewern zu verursachen, die sie nicht verstanden haben. Sie zeigen einfach alle Elemente als vollständig undurchsichtig an. Dies war jedoch ein zweischneidiges Schwert, da Benutzer mit älteren Betrachtern, PDF-Druckern usw. etwas völlig anderes als das ursprüngliche Design sehen oder drucken konnten.

Die Tatsache, dass das PDF-Transparenzmodell so kompliziert ist, bedeutet, dass es nicht gut unterstützt wird. Dies bedeutet, dass RIPs und Drucker häufig Probleme haben, PDFs mit Transparenz zu drucken. Die Lösung hierfür besteht entweder darin, das Bild zu rastern oder die PDF-Transparenz auf das PDF zu reduzieren. Das Reduzieren der Vektortransparenz ist jedoch äußerst komplex und wird nur von wenigen Spezialpaketen unterstützt.

Transparenz in PostScript[edit]

Die PostScript-Sprache unterstützt je nach PostScript-Ebene nur begrenzt (nicht teilweise) transparent. Teiltransparenz ist mit der Erweiterung pdfmark verfügbar.[2] verfügbar für viele PostScript-Implementierungen.

Level 1[edit]

Level 1 PostScript bietet Transparenz über zwei Methoden:

  • Ein Ein-Bit-Bild (monochrom) kann als Maske behandelt werden. In diesem Fall können die 1-Bits in jeder einzelnen Farbe gemalt werden, während die 0-Bits überhaupt nicht gemalt werden. Diese Technik kann nicht auf mehr als eine Farbe oder auf Vektorformen verallgemeinert werden.
  • Beschneidungspfade können definiert werden. Diese schränken ein, welcher Teil aller nachfolgenden Grafiken sichtbar ist. Dies kann für jede Art von Grafik verwendet werden. In Stufe 1 war die maximale Anzahl von Knoten in einem Pfad jedoch häufig auf 1500 begrenzt, sodass komplexe Pfade (z. B. das Schneiden der Haare auf einem Foto des Kopfes einer Person) häufig fehlschlugen.

Level 2[edit]

Level 2 PostScript fügt keine spezifischen Transparenzfunktionen hinzu. Durch die Verwendung von Mustern können jedoch beliebige Grafiken durch Masken gemalt werden, die durch beliebige Vektor- oder Textoperationen definiert sind. Dies ist jedoch komplex zu implementieren. Darüber hinaus erreichte dies zu oft Implementierungsgrenzen, und nur wenige, wenn überhaupt, Anwendungsprogramme boten diese Technik jemals an.

Stufe 3[edit]

PostScript der Stufe 3 bietet weitere Transparenzoptionen für jedes Rasterbild. Eine transparente Farbe oder ein Farbbereich kann angewendet werden. oder eine separate 1-Bit-Maske kann verwendet werden, um einen Alphakanal bereitzustellen.

Eingekapseltes PostScript[edit]

EPS-Dateien enthalten PostScript, das Level 1, 2 oder 3 sein kann und die oben genannten Funktionen nutzt. Ein subtileres Problem tritt bei den Vorschauen für EPS-Dateien auf, die normalerweise verwendet werden, um die Ansicht der EPS-Datei auf dem Bildschirm anzuzeigen. Es gibt praktikable Techniken zum Einstellen der Transparenz in der Vorschau. Beispielsweise kann eine TIFF-Vorschau einen TIFF-Alphakanal verwenden. Viele Anwendungen verwenden diese Transparenzinformationen jedoch nicht und zeigen die Vorschau daher als Rechteck an. Eine in Photoshop entwickelte und von einer Reihe von Druckvorstufenanwendungen verwendete semi-proprietäre Technik besteht darin, einen Beschneidungspfad an einem Standardspeicherort des EPS zu speichern und für die Anzeige zu verwenden.

Darüber hinaus generieren nur wenige Programme, die EPS-Vorschauen generieren, Transparenzinformationen in der Vorschau.

Einige Programme haben versucht, dies zu umgehen, indem sie alles Weiß in der Vorschau als transparent behandelt haben, aber auch dies ist in den Fällen problematisch, in denen einige Weiße sind nicht transparent.

In jüngerer Zeit sind Anwendungen erschienen, die die Vorschau insgesamt ignorieren. Sie erhalten daher Informationen darüber, welche Teile der Vorschau durch Interpretieren des PostScript gemalt werden sollen.

Siehe auch[edit]

Verweise[edit]

Externe Links[edit]

after-content-x4