16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

4.3.4 <strong>Java</strong>2D-Pipel<strong>in</strong>e<br />

<strong>Java</strong>2D stellt geometische Objekte über e<strong>in</strong>e "Ren<strong>de</strong>r-"Pipel<strong>in</strong>e dar:<br />

fill()<br />

Transformation<br />

Shapes draw() Stroke<br />

Text drawStr() Font<br />

H<strong>in</strong>ts<br />

Rasterisierer<br />

Images drawImage() Ren<strong>de</strong>r<strong>in</strong>g H<strong>in</strong>ts<br />

Clipp<strong>in</strong>g Pa<strong>in</strong>t Composition Output Device<br />

Abb.: <strong>Java</strong>2D-Pipel<strong>in</strong>e<br />

Geometrische Objekte können neben ihrer Form (Shape, z.B. Rechteck) durch drei<br />

weitere Parameter beschrieben wer<strong>de</strong>n: Translation, Rotation, Skalierung. Die<br />

Anwendung dieser Parameter auf e<strong>in</strong> geometrisches Objekt wird als Transformation<br />

bezeichnet.<br />

Kont<strong>in</strong>uierliche Shapes wer<strong>de</strong>n vom Rasterisierer <strong>in</strong> diskrete Rasterbelegungen<br />

umgewan<strong>de</strong>lt. Man unterschei<strong>de</strong>t Rasterisierung mit o<strong>de</strong>r ohne Alias<strong>in</strong>g:<br />

- Alias<strong>in</strong>g: Raster-Pixel wird als belegt gekennzeichnet, wenn das Objekt meht als x% <strong>de</strong>s Pixels<br />

belegt<br />

- Antialias<strong>in</strong>g: <strong>de</strong>m Pixel wird <strong>de</strong>r Belegungsfaktor x zugewiesen und als Transparenzwert <strong>in</strong>terpretiert.<br />

Ren<strong>de</strong>r<strong>in</strong>g H<strong>in</strong>ts s<strong>in</strong>d H<strong>in</strong>weise o<strong>de</strong>r Wünsche an <strong>Java</strong>2D, welche Qualität bzw.<br />

welche Performance man gerne erreichen wür<strong>de</strong>. <strong>Java</strong>2D entschei<strong>de</strong>t dann selber,<br />

welche dieser Wünsche erfüllt wer<strong>de</strong>n (können).<br />

Die Ausgabe von <strong>Java</strong>2D erfolgt typischerweise <strong>in</strong> e<strong>in</strong> Fenster. Dieses Fenster zeigt<br />

nur e<strong>in</strong>en Ausschnitt <strong>de</strong>r potentiell unbegrenzten (virtuellen) <strong>Java</strong>2D-Zeichenfläche.<br />

Gemalt wer<strong>de</strong>n soll natürlich nur das, was auch tatsächlich <strong>in</strong> diesem sichtbaren<br />

Ausschnitt liegt. Dieses Zuschnei<strong>de</strong>n auf e<strong>in</strong>en Bereich wird als Clipp<strong>in</strong>g bezeichnet.<br />

<strong>Java</strong>2D erlaubt neben <strong>de</strong>m normalen Clipp<strong>in</strong>g auf e<strong>in</strong>em rechteckigen (Fenster-)<br />

Bereich auch das Clipp<strong>in</strong>g auf beliebige <strong>Java</strong>2D-Flächen.<br />

Im Pa<strong>in</strong>t-Schritt wer<strong>de</strong>n Farbe und Transparenz <strong>de</strong>r Pixel festgelegt. Dazu gehört<br />

u.a.:<br />

- die Ausprägung <strong>de</strong>r Umrissl<strong>in</strong>ie (durchgehend, gestrichelt, …)<br />

- die Art <strong>de</strong>r Füllung (feste Farbe, Farbverlauf, Muster, Bitmap, …)<br />

Falls e<strong>in</strong> Image gemalt wer<strong>de</strong>n soll, entfällt dieser Schritt, da alle Informationen<br />

implizit im Image enthalten s<strong>in</strong>d.<br />

300

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!