graphics2d
Download
Skip this Video
Download Presentation
Graphics2D

Loading in 2 Seconds...

play fullscreen
1 / 14

Graphics2D - PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on

Graphics2D. Eigenschaften von Graphics2D. Trennung zwischen Userkoordinaten und Gerätekoordinaten Beliebige Transformation zwischen User- und Gerätekoordinaten Clipping an beliebigen Shape-Objekten ist möglich. Clipping im User- und im Gerätekoordinatensystem

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Graphics2D' - humphrey-askew


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
graphics2d

Graphics2D

10-Graphics2D

eigenschaften von graphics2d
Eigenschaften von Graphics2D
  • Trennung zwischen Userkoordinaten und Gerätekoordinaten
  • Beliebige Transformation zwischen User- und Gerätekoordinaten
  • Clipping an beliebigen Shape-Objekten ist möglich.
  • Clipping im User- und im Gerätekoordinatensystem
  • Grafische Objekte sind echte Objekte, abgeleitet vom Interface Shape.
  • Es sind verschiedene Varianten der Kombination der Farben möglich.

10-Graphics2D

begriffe
Begriffe
  • RenderingBerechnung der auf dem graphischen Gerät (Bildschirm, Drucker, Plotter u.s.w.) darzustellenden Pixel aus den Informationen, die das graphische Objekt beschreiben (Linien, Flächen, Bilder u.s.w.). Dabei wird ggf. die Transformation in andere Raumdimensionen (3D  2D) durchgeführt.
  • ClippingVon den darzustellenden Objekten werden nur die Anteile dargestellt, die innerhalb des Clippingbereiches liegen. Der Clippingbereich kann im Userkoordinatenbereich oder im Gerätekoordinatenbereich liegen, oder beide können kombiniert werden.
  • Alpha-CompositJede Farbe enthält vier Komponenten r, g, b und α. Wenn zwei Objekte ein gemeinsames Pixel mit verschiedenen Farben enthalten, wird die Farbe beider Objekte mit Hilfe der α-Werte gemischt.

10-Graphics2D

rendering
Rendering

Bestimmung welche Objekte

dargestellt werden sollen

Clipping in den Userkoordinaten

Transformation in die Gerätekoordinaten

Clipping am Geräteclippingbereich

Bestimmung welche Farben

gerendert werden müssen

10-Graphics2D

grafische objekte in java2d
Grafische Objekte in Java2D

Shape

Area

GeneralPath

RectangularShape

Line2D

QuadCurve2D

CubicCurve2D

Arc2D

Ellipse2D

Rectangle2D

RoundRectangle2D

xxx2D

xxx2D.Float

xxx2D.Double

10-Graphics2D

das interface shape
Das Interface Shape
  • Das Shape-Interface beschreibt alle grafischen Objekte von Graphics2D.
  • Wichtige Methoden:
  • public boolean contains(Point2D p) bzw.public boolean contains(double x, double y) testet ob ein Punkt (x,y) bzw. p im Inneren des Shape-Objektes enthalten ist.
  • public boolean contains(Rectangle2D r) bzw. public boolean contains(double x, double y, double w, double h)test ob ein Rechteck vollständig im Inneren des Shape-Objektes enthalten ist.
  • public Rectangle getBounds() bzw.public Rectangle2D getBounds2D()bestimmt das kleinste Rechteck, das das Shape-Objekt vollständig enthält.

10-Graphics2D

slide7
public boolean intersects(Rectangle2D r) bzw.public boolean intersects(double x, double y, double w, double h)testet ob der Durchschnitt zwischen Rechteck und Shape-Objekt nicht leer ist.

10-Graphics2D

elementare graphische objekte
Elementare graphische Objekte
  • Elementare graphische Objekte sind:Line2D, QuadCurve2D, CubicCurve2D, Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2D
  • Diese Klassen sind abstrakt. Innerhalb dieser Klassen sind die realen Klassen xxx.Float und xxx.Double definiert.
  • In diesen Klassen existieren zusätzliche Methoden zum Abfragen und Überschreiben der Parameter (Startpunkt, Größe u.s.w.).

10-Graphics2D

generalpath
GeneralPath
  • Mit Hilfe der Klasse GeneralPath können komplexe aus mehreren elementaren graphischen Objekte zusammengesetzt Objekte erzeugt werden.
  • Mit der Methodepublic void append(Shape s, boolean connect)können beliebige Shape-Objekte an das GeneralPath-Objekt angehängt werden.
  • Mit der Methodepublic void moveTo(float x, float y)wird ein neuer Anfangspunkt für die nächste Operation festgelegt.
  • Mit der Methodepublic void lineTo(float x, float y)wird eine Linie von dem aktuellen Startpunkt zu dem Punkt (x,y) gezogen.

10-Graphics2D

slide10
Mit der Methodepublic void quadTo(float x1, float y1, float x2, float y2)wird eine quadratische Kurve von dem aktuellen Startpunkt zu Punkt (x2,y2) gezogen, wobei (x1,y1) als Kontrollpunkt genutzt wird (siehe QuadCurve2D).
  • Mit der Methodepublic void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)wird eine kubische Kurve von dem aktuellen Startpunkt zu Punkt (x3,y3) gezogen, wobei (x1,y1) als Kontrollpunkt genutzt wird (siehe QuadCurve2D).
  • Mit der Methodepublic void closePath()wird der GeneralPath geschlossen, d.h. der Endpunkt wird mit dem letzten Punkt verbunden, der mit moveTo beschrieben wurde.

10-Graphics2D

slide11
Area
  • Area-Objekte können aus Shape-Objekten gebildet werden und beschreiben die umschlossene Fläche des Shape-Objektes.
  • Mit Area-Objekten können Mengenoperationen ausgeführt werden. (konstruktive Geometrie)
  • Konstruktorpublic Area() : leeres Area-Objektpublic Area(Shape s) : das von dem Shape-Objekt umschlossene Gebiet

10-Graphics2D

slide12
Area-Objekt mit einem anderen vereinigenpublic void add(Area rhs)a=b.add(c)  a=bUc
  • Area-Gebiet von einem anderen abziehenpublic void subtract(Area rhs)a=b.subtract(c)  a=b−c
  • Durchschnitt zweier Area-Objekte bildenpublic void intersect(Area rhs) a=b.intersect(c)  a=b∩c
  • Symmetrische Differenz zweier Area-Objektepublic void exclusiveOr(Area rhs) a=b.exclusiveOr(c)  a=bUc - b∩c

10-Graphics2D

alphacomposite
AlphaComposite
  • Bei der Komposition von Graphikobjekten kann mit Hilfe des Interfaces Composite der Algorithmus zur Komposition beschrieben werden.
  • Die einzige konkrete Implementierung von Composite ist AlphaComposite.
  • AlphaComposite beschreibt die Mischung der Farben entsprechend der Alpha-Werte eines Pixels.
  • Jeder Bildpunkt kann neben dem rot-, grün- und blau-Anteil auch einen alpha-Wert besitzen.
  • Werden zwei Bildpunkte gemischt, werden diese entsprechend ihres Alpha-Wertes gemittelt.
  • Seien die Komponenten des schon dargestellten Pixels (AD,RD,GD,BD) und die des neuen Pixels (AS,RS,GS,BS), so ergeben sich die Komponenten des neuen Pixels in Abhängigkeit der verwendeten Regel aus folgender Tabelle

10-Graphics2D

ad