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.2.4 Kopieren von Speicher <strong>in</strong> e<strong>in</strong> Bild bzw. von Bil<strong>de</strong>rn <strong>in</strong> e<strong>in</strong>en Speicher<br />

4.2.4.1 Kopieren von Speicher <strong>in</strong> e<strong>in</strong> Bild<br />

E<strong>in</strong> möglicher Typ für das Produzieren von Bil<strong>de</strong>rn ist e<strong>in</strong> Datenfeld mit ganzen<br />

Zahlen, die für die Farbe e<strong>in</strong>es je<strong>de</strong>n Pixels stehen. Möglich wird das durch die<br />

Klasse MemoryImageSource.<br />

Bsp.: Das folgen<strong>de</strong> Applet erzeugt e<strong>in</strong> Speicherbild, e<strong>in</strong>e MemoryImageSource und<br />

zeichnet das Bild im Zeichenbereich.<br />

import java.applet.*;<br />

import java.awt.*;<br />

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

/* das Applet zeichnet e<strong>in</strong> Image und benutzt dazu<br />

e<strong>in</strong>en Array mit Pixeln<br />

*/<br />

public class SpeicherBild extends Applet<br />

{<br />

private f<strong>in</strong>al static <strong>in</strong>t b = Color.blue.getRGB();<br />

private f<strong>in</strong>al static <strong>in</strong>t r = Color.red.getRGB();<br />

private f<strong>in</strong>al static <strong>in</strong>t g = Color.green.getRGB();<br />

<strong>in</strong>t pixels[] = {<br />

b, b, b, b, b, b, b, b, b, b,<br />

b, b, b, b, b, b, b, b, b, b,<br />

b, b, g, g, g, g, g, g, b, b,<br />

b, b, g, g, g, g, g, g, b, b,<br />

b, b, g, g, r, r, g, g, b, b,<br />

b, b, g, g, r, r, g, g, b, b,<br />

b, b, g, g, g, g, g, g, b, b,<br />

b, b, g, g, g, g, g, g, b, b,<br />

b, b, b, b, b, b, b, b, b, b,<br />

b, b, b, b, b, b, b, b, b, b<br />

};<br />

Image me<strong>in</strong>Bild;<br />

public void <strong>in</strong>it()<br />

{<br />

/* Erzeigen <strong>de</strong>s Bilds aus <strong>de</strong>m Array pixels.<br />

Die Pixels wer<strong>de</strong>n zeilenweise von Postion 0<br />

aus <strong>de</strong>m Array gelesen. e<strong>in</strong>e Zeile umfasst 10<br />

Postionen.<br />

*/<br />

me<strong>in</strong>Bild = createImage(<br />

new MemoryImageSource(10,10,pixels,0,10));<br />

}<br />

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

{<br />

// Zeichen das Bild.<br />

// Breite und Hoehe <strong>de</strong>s Bilds wer<strong>de</strong>n 10fach vergroessert<br />

g.drawImage(me<strong>in</strong>Bild,0,0,100,100,this);<br />

}<br />

}<br />

281

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!