Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

FH-Hof Java 2D - Kontext für Zeichenoperationen Richard Göbel.

Ähnliche Präsentationen


Präsentation zum Thema: "FH-Hof Java 2D - Kontext für Zeichenoperationen Richard Göbel."—  Präsentation transkript:

1 FH-Hof Java 2D - Kontext für Zeichenoperationen Richard Göbel

2 FH-Hof Bestandteile des Kontext Zeichenstift: Stroke Füllfarbe: Paint Transformationen: AffineTransform Weitere Attribute: Hintergrund Rendering Hints Clip-Bereich

3 FH-Hof Zeichenstift Basis: Interface Stroke Implementierende Klasse: BasicStroke Parameter für die Klasse BasicStroke : Breite Gestaltung von Ecken Muster für gestrichelte Linien Setzen des Zeichenstifts.setStroke(new BasicStroke(...))

4 FH-Hof Konstruktoren für die Klasse BasicStroke BasicStroke(float width) BasicStroke(float width, int cap, int join) BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)

5 FH-Hof Ende einer Linie: Parameter cap CAP_BUTT CAP_SQUARE CAP_BUTT

6 FH-Hof Ende einer Linie: Parameter join JOIN_BEVEL JOIN_MITER JOIN_ROUND

7 FH-Hof Muster für gestrichelte Linien: Parameter dash Für den Parameter dash wird ein Array für den Datentyp float erwartet Das Array muss eine gerade Anzahl von Elementen enthalten Die Länge der Liniensegmente wird mit den geraden Elementen definiert Die Länge der Zwischenräume wird mit den ungeraden Elementen definiert Der Startpunkt innerhalb des Musters wird mit Hilfe des Parameters dashphase festgelegt,

8 FH-Hof Beispiel für eine gestrichelte Linie float[] pattern = { 1, 19, 10, 10 }

9 FH-Hof Füllfarbe: Optionen Einheitliche Farbe mit der Klasse Color, z.B.: Color(float r, float g, float b) Farbverlauf mit der Klasse GradientPaint, z.B.: GradientPaint(float x1, float y1, Color col1, float x2, float y2, Color col2, boolean cyclic) Textur mit der Klasse TexturePaint, z.B.: TexturePaint(BufferedImage txtr, Rectangle2d anchor) Setzen der Füllfarbe:.setPaint(... )

10 FH-Hof Beispiele für Füllfarbe new Color(1f,1f,0f)new TexturePaint(...) new GradientPaint(30, 40, new Color(1f,0,0), 60, 70, new Color(0,1f,0),...) cyclic = false cyclic = true

11 FH-Hof Transformationen Auf alle Punkte eines zu zeichnenden Objekts wird zunächst eine Transformation angewendet Mit diesem Ansatz lassen sich verschiedene Ausgabemedien unterstützen: Bildschirm Drucker Palm... Die Transformation wird mit Hilfe einer 3 3 Matrix als Objekt der Klasse AffineTransformation dargestellt

12 FH-Hof Methoden von Graphics2D für Transformationen Änderung der aktuellen Transformation rotate(double theta, double x, double y) scale(double sx, double sy) shear(double shx, double shy) translate(double tx, double ty) Neue Transformation setzen setTransform(AffineTransform Tx)

13 FH-Hof Statische Funktionen von AffineTransformation getRotateInstance(double theta, double x, double y) getScaleInstance(double sx, double sy) getShearInstance(double shx, double shy) getTranslateInstance(double tx, double ty)


Herunterladen ppt "FH-Hof Java 2D - Kontext für Zeichenoperationen Richard Göbel."

Ähnliche Präsentationen


Google-Anzeigen