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 />

Die Klassen zur Bildverarbeitung bef<strong>in</strong><strong>de</strong>n sich im Package java.awt.image. Mit<br />

Hilfe <strong>de</strong>r Klasse java.awt.Toolkit kann e<strong>in</strong> Bild aus e<strong>in</strong>er angegebenen Quelle<br />

mit getImage() gela<strong>de</strong>n wer<strong>de</strong>n. Dabei wird e<strong>in</strong> Objekt vom Typ<br />

java.awt.Image zurückgegeben. Der La<strong>de</strong>zustand e<strong>in</strong>es Objekts (z.B e<strong>in</strong>es Bilds)<br />

kann überwacht wer<strong>de</strong>n, wenn die zum Objekt zugehörige Klasse das Interface<br />

java.awt.image.ImageObserver implementiert. Das tun alle AWT- und Sw<strong>in</strong>g-<br />

Kontrollelemente. Zur vere<strong>in</strong>fachten Benutzung beim La<strong>de</strong>n mehrerer Bil<strong>de</strong>r gibt es<br />

die Klasse java.awt.MediaTracker. Die weiteren Klassen im Paket<br />

java.util.image ermöglichen Skalierung, Rotation, Filtern und an<strong>de</strong>re<br />

Verän<strong>de</strong>rungen <strong>de</strong>r Bil<strong>de</strong>r. Als Bildformate wer<strong>de</strong>n GIF und JPG unterstützt.<br />

In <strong>Java</strong> 2 kamen Klassen zum pixelorientierten Erzeugen und Bearbeiten von Bil<strong>de</strong>rn<br />

im Paket java.awt.image und <strong>de</strong>m neuen java.awt.image.ren<strong>de</strong>rable<br />

h<strong>in</strong>zu.<br />

Bsp.: E<strong>in</strong> Bildbetrachter 246<br />

import java.awt.*;<br />

import java.awt.event.*;<br />

public class ImageViewer extends Frame implements ActionListener<br />

{<br />

private Image image;<br />

private Frame frame;<br />

public ImageViewer()<br />

{<br />

setTitle("Bildbetrachter");<br />

// konstruiere die Menuezeile<br />

MenuBar mbar = new MenuBar();<br />

Menu menue = new Menu("Datei");<br />

MenuItem menueItem = new MenuItem("Oeffnen", new MenuShortcut((<strong>in</strong>t)<br />

'O'));<br />

menueItem.addActionListener(this);<br />

menue.add(menueItem);<br />

mbar.add(menue);<br />

setMenuBar(mbar);<br />

// Schliessen <strong>de</strong>s Fenster mit X<br />

frame = this;<br />

addW<strong>in</strong>dowListener(new W<strong>in</strong>dowAdapter()<br />

{<br />

public void w<strong>in</strong>dowClos<strong>in</strong>g(W<strong>in</strong>dowEvent e)<br />

{ System.exit(0); }<br />

});<br />

setSize(600,400);<br />

}<br />

public void pa<strong>in</strong>t(Graphics g)<br />

{<br />

if (image != null)<br />

{<br />

g.drawImage(image,0,0,this);<br />

setSize(image.getWidth(this),image.getHeight(this));<br />

}<br />

}<br />

public void actionPerformed(ActionEvent e)<br />

{<br />

FileDialog d = new FileDialog(frame,"Oeffne Grafikdatei",<br />

FileDialog.LOAD);<br />

d.setFile("*.jpg;*gif");<br />

d.show();<br />

Str<strong>in</strong>g file = d.getDirectory() + d.getFile();<br />

246 pr42300<br />

273

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!