Porter-Duff Composition

Porter-Duff Composition

Porter-Duff Composition ist ein Begriff aus der Computergrafik.

Porter-Duff Composition ist ein Verfahren, um digitale Bilder zu überlagern. Es wurde 1984 von Thomas Porter und Tom Duff im Rahmen des Computer Graphics Project der Lucasfilm Ltd. beschrieben [1].

Bei der Überlagerung von digitalen Bildern muss definiert sein, welchen Einfluss die Überlagerung auf das einzelne Pixel hat. Dabei muss neben den drei Farbkanälen (rot, grün, blau) noch die Transparenz (Alphakanal) berücksichtigt werden, wodurch pro Pixel definiert werden kann, wie es bei Überlagerung mit einem darunterliegenden Pixel dargestellt werden soll bzw. wie stark die Farbe des unten liegenden Pixel auf dem überlagernden Pixel durchscheint.

Inhaltsverzeichnis

Idee und Wirkungsweise

Das Verfahren unterscheidet für die Überlagerung von zwei Pixel (A und B) zwischen 12 verschiedenen Methoden. In den ersten beiden Beispielen ist eine Transparenz von 0 % bzw. eine Opazität von 100 % definiert, d.h. die Pixel sind nicht transparent. Bei Beispiel 3 hat sowohl Pixel A als auch Pixel B eine Transparenz von 50 %.

Methode Beschreibung Beispiel 1 Beispiel 2 Beispiel 3

Transparenz: 50 %

A nur Pixel von Bild A werden angezeigt PorterDuff A.png PorterDuff A 2.png PorterDuff A tr50.png
B nur Pixel von Bild B werden angezeigt PorterDuff B.png PorterDuff B 2.png PorterDuff B tr50.png
A over B Pixel von Bild A überdecken Pixel von Bild B. Ist kein Pixel von Bild A vorhanden wird Pixel von Bild B dargestellt. PorterDuff AoverB.png PorterDuff AoverB 2.png PorterDuff AoverB tr50.png
B over A Pixel von Bild B überdecken Pixel von Bild A. Ist kein Pixel von Bild B vorhanden wird Pixel von Bild A dargestellt. PorterDuff BoverA.png PorterDuff BoverA 2.png PorterDuff BoverA tr50.png
A in B Pixel von Bild A wird nur dargestellt, wenn ein Pixel von Bild B vorhanden ist. Ist nur Pixel von Bild A oder nur Pixel von Bild B vorhanden, dann wird nichts (default-Farbe) dargestellt. PorterDuff AinB.png PorterDuff AinB 2.png PorterDuff AinB tr50.png
B in A Pixel von Bild B wird nur dargestellt, wenn ein Pixel von Bild A vorhanden ist. Ist nur Pixel von Bild A oder nur Pixel von Bild B vorhanden, dann wird nichts (default-Farbe) dargestellt. PorterDuff BinA.png PorterDuff BinA 2.png PorterDuff BinA tr50.png
A out B ein Pixel von Bild A wird nur dargestellt, wenn kein Pixel von Bild B vorhanden ist. Dort wo ein Pixel von Bild B vorhanden ist, wird weder das Pixel von Bild B noch das Pixel von Bild A dargestellt. PorterDuff AoutB.png PorterDuff AoutB 2.png PorterDuff AoutB tr50.png
B out A ein Pixel von Bild B wird nur dargestellt, wenn kein Pixel von Bild A vorhanden ist. Dort wo ein Pixel von Bild A vorhanden ist, wird weder das Pixel von Bild A noch das Pixel von Bild B dargestellt. PorterDuff BoutA.png PorterDuff BoutA 2.png PorterDuff BoutA tr50.png
A atop B Es wird nur ein Pixel von Bild B dargestellt. Sind sowohl Pixel von Bild A und Pixel von Bild B vorhanden, überlagert das Pixel von Bild A das Pixel von Bild B. Dort wo nur ein Pixel von Bild A vorhanden ist, wird nichts dargestellt (default-Farbe). PorterDuff AatopB.png PorterDuff AatopB 2.png PorterDuff AatopB tr50.png
B atop A Es wird nur Pixel von Bild A dargestellt. Sind sowohl Pixel von Bild A und Pixel von Bild B vorhanden, überlagert das Pixel von Bild B das Pixel von Bild A. Dort wo nur ein Pixel von Bild B vorhanden ist, wird nichts dargestellt (default-Farbe). PorterDuff BatopA.png PorterDuff BatopA 2.png PorterDuff BatopA tr50.png
A xor B XOR aus Pixel von Bild A und Pixel von Bild B, das heißt es wird nur ein Pixel dargestellt, wenn entweder ein Pixel von Bild A oder ein Pixel von Bild B vorhanden ist. (Ist nur ein Pixel von Bild A vorhanden wird das Pixel von Bild A dargestellt. Ist nur ein Pixel von Bild B vorhanden wird das Pixel von Bild B dargestellt. Sind beide Pixel vorhanden, wird nichts dargestellt (default-Farbe)). PorterDuff AxorB.png PorterDuff AxorB 2.png PorterDuff AxorB tr50.png
clear weder Pixel von Bild A noch Pixel von Bild B werden dargestellt. PorterDuff Clear.png PorterDuff Clear.png PorterDuff Clear.png

Unterstützung

Alle modernen Grafiksysteme unterstützen die Porter-Duff-Verfahren. So z. B. in Quartz, der Grafikschicht des Apple Betriebssystemes Mac OS X [2].

Auch die Programmiersprache Java unterstützt standardmäßig diese Verfahren [3].

Nachweise

  1. T. Porter and T. Duff - Compositing Digital Images SIGGRAPH 84 (Computer Graphics Volume 18, Number 3 July 1984) pp 253-259
  2. Mike Paquette “Pixar's Porter-Duff Composition used in Quartz”
  3. The specific rules implemented by the class java.awt.AlphaComposite are the basic set of 12 rules described in T. Porter and T. Duff, "Compositing Digital Images"

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Porter — steht für: Porter (Bier), ein dunkles Bier (1636) Porter, Asteroid des Hauptgürtels Michael E. Porter, bedeutender Managementtheoretiker, Begründer des Fünf Kräfte Modells Porter (Mondkrater), Mondkrater Porter (Familienname) Im weiteren Sinn für …   Deutsch Wikipedia

  • Composition — steht für Programme Composition Manager Computerprogramm, Porter Duff Composition Begriff aus der Computergrafik. Distributed Feature Composition (DFC) Architektur zur Beschreibung und Implementierung von Telekommunikationsdiensten Gemische… …   Deutsch Wikipedia

  • Tom Duff — Thomas Douglas Selkirk Duff (* 8. Dezember 1952 in Toronto, Ontario) ist ein kanadischer Programmierer. Er wuchs in Toronto und Leaside (Ontario) auf. 1974 machte er seinen Abschluss in Mathematik an der University of Waterloo und zwei Jahre… …   Deutsch Wikipedia

  • Alpha-Blending — ist eine Technik in der Bild oder Videobearbeitung, bei der verschiedene Bilder zu einem Gesamtbild überlagert werden, wobei neben der Farbinformation auch der Alphakanal berücksichtigt wird. Der Alphawert eines Bildpunktes (Pixel) ist dabei ein… …   Deutsch Wikipedia

  • Cairo (graphics) — infobox software name = Cairo developer = Carl Worth, Behdad Esfahbod frequently updated = yes programming language = C operating system = Cross platform genre = Graphics library license = GNU Lesser General Public License or Mozilla Public… …   Wikipedia

  • Glitz (software) — Infobox Software name = glitz developer = Peter Nilsson, David Reveman latest release version = 0.5.6 latest release date = May 20, 2006 programming language = C operating system = Cross platform genre = Graphics library license = MIT License… …   Wikipedia

  • Quartz — ist die Grafikschicht des Apple Betriebssystems Mac OS X. Bei Quartz handelt es sich um eine Bibliothek für 2D und 3D Grafiken, die das grundlegende Darstellungsmodell für Mac OS X bildet. Aufbauend auf dem plattformübergreifenden PDF Standard… …   Deutsch Wikipedia

  • History of the graphical user interface — The graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, has over the last four decades a steady history of incremental refinements built on some constant core principles. Several vendors… …   Wikipedia

  • AmigaOS — Infobox OS name = AmigaOS logo = caption = A screenshot of AmigaOS 4.0 family = Amiga OS developer = Commodore International (1.0 3.1) Haage Partner (3.5 3.9) Hyperion Entertainment (4.0) source model = Closed source working state = Current… …   Wikipedia

  • performing arts — arts or skills that require public performance, as acting, singing, or dancing. [1945 50] * * * ▪ 2009 Introduction Music Classical.       The last vestiges of the Cold War seemed to thaw for a moment on Feb. 26, 2008, when the unfamiliar strains …   Universalium

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”