16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

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

4.1.5 Clipp<strong>in</strong>g-Operationen<br />

Je<strong>de</strong>r Grafikkontext hat e<strong>in</strong>e zugeordnete Clipp<strong>in</strong>g-Region, die dazu dient, die<br />

Ausgabe auf e<strong>in</strong>en bestimmten Bereich e<strong>in</strong>zugrenzen. Clipp<strong>in</strong>g ist e<strong>in</strong>e Eigenschaft<br />

<strong>de</strong>s aktuellen „Graphic“ Objekts. Mit <strong>de</strong>r Metho<strong>de</strong> clipRect(<strong>in</strong>t x, <strong>in</strong>t y, <strong>in</strong>t<br />

breite, <strong>in</strong>t hoehe) läßt sich <strong>de</strong>r Bereich e<strong>in</strong>schränken, dann erfolgen alle<br />

Operationen <strong>in</strong> diesem Bereich. Mit<br />

public abstract void setClip(<strong>in</strong>t x, <strong>in</strong>t y, <strong>in</strong>t width, <strong>in</strong>t height)<br />

public abstract void setClip(Shape clip)<br />

kann die Clipp<strong>in</strong>g-Region auf e<strong>in</strong>en beliebigen Bereich <strong>in</strong>nerhalb <strong>de</strong>s aktuelle<br />

Fensters ausge<strong>de</strong>hnt wer<strong>de</strong>n. Die zweite Version von setClip() erlaubt die<br />

Übergabe e<strong>in</strong>es Objekts, die das Shape-Interface implementiert.<br />

4.2 Bildverarbeitung<br />

Bil<strong>de</strong>r s<strong>in</strong>d neben Text das wichtigste visuelle Gestaltungsmerkmal. In <strong>Java</strong> können<br />

Grafiken an verschie<strong>de</strong>nen Stellen e<strong>in</strong>gebun<strong>de</strong>n wer<strong>de</strong>n, z.B. als Grafiken <strong>in</strong><br />

Zeichenflächen (Canvas) o<strong>de</strong>r als Icons <strong>in</strong> Buttons. Über <strong>Java</strong> können GIF-Bil<strong>de</strong>r 245<br />

und JPEG-Bil<strong>de</strong>r gela<strong>de</strong>n wer<strong>de</strong>n.<br />

Je<strong>de</strong> Grafik wird als Exemplar <strong>de</strong>r Klasse Image erzeugt. Image dient zur<br />

Implementierung von:<br />

- ImageProducer für die Erzeugung von Bil<strong>de</strong>rn auf <strong>de</strong>r Grundlage von Bildpunkten.<br />

- ImageConsumer für die Darstellung von Bil<strong>de</strong>rn als Interpretation <strong>de</strong>r gespeicherten Bildpunkte.<br />

- ImageFilter für die Filterung <strong>de</strong>s Bil<strong>de</strong>s <strong>in</strong>sbeson<strong>de</strong>re h<strong>in</strong>sichtlich vorgebbarer Farbmo<strong>de</strong>lle und<br />

Bil<strong>de</strong>igenschaften (mit <strong>de</strong>r speziellen Subklasse RGBImageFilter).<br />

- ImageObserver bspw. für die Beobachtung, ob e<strong>in</strong> Bild vollständig gela<strong>de</strong>n ist u.ä.m. Zur<br />

vollständigen Kontrolle <strong>de</strong>s La<strong>de</strong>ns e<strong>in</strong>es Bilds stellt java.awt. die Klasse MediaTracker bereit.<br />

Bil<strong>de</strong>r e<strong>in</strong>er Applikation wer<strong>de</strong>n über die Klasse Toolkit e<strong>in</strong>gebun<strong>de</strong>n.<br />

Bsp.: Anfor<strong>de</strong>rn e<strong>in</strong>es Bilds <strong>in</strong> e<strong>in</strong>er Applikation.<br />

Image pic = Toolkit.getDefaultToolkit().getImage("");<br />

Zur Anzeige e<strong>in</strong>es Bilds <strong>in</strong> Orig<strong>in</strong>algröße wird die Metho<strong>de</strong> drawImage() mit<br />

folgen<strong>de</strong>n Argumenten aufgerufen:<br />

- Das Image-Objekt, das angezeigt wer<strong>de</strong>n soll.<br />

- die x-Koord<strong>in</strong>ate<br />

- die y-Koord<strong>in</strong>ate<br />

- Das Schlüsselwort this.<br />

245 Das GIF-Format (Graphics Interchange Format) ist e<strong>in</strong> komprimieren<strong>de</strong>s Verfahren, das 1987 von<br />

CompuServe-Betreibern zum Austausch von Bil<strong>de</strong>rn entwickelt wur<strong>de</strong>. GIF-Bil<strong>de</strong>r können bis zu 1600 mal<br />

1600 Punkte umfassen. Die Komprimierung (nach <strong>de</strong>m LZW-Verfahren) ist verlustfrei. Je<strong>de</strong>s GIF-Bild kann aus<br />

maximal 256 Farben bestehen (bei e<strong>in</strong>er Palette von 16,7 Millionen Farben).<br />

271

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!