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

private Image orig<strong>in</strong>alImage;<br />

private Image scaledImage;<br />

private Image croppedImage;<br />

private ImageFilter cropFilter;<br />

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

{<br />

orig<strong>in</strong>alImage = new ImageIcon("B01000800.jpg").getImage();<br />

<strong>in</strong>t prozent = 50;<br />

scaledImage = orig<strong>in</strong>alImage.getScaledInstance(<br />

(orig<strong>in</strong>alImage.getWidth(this) * prozent)/100,<br />

(orig<strong>in</strong>alImage.getHeight(this)*prozent)/100,<br />

Image.SCALE_SMOOTH );<br />

cropFilter = new CropImageFilter(0,0,240,200);<br />

croppedImage = createImage(new<br />

FilteredImageSource(scaledImage.getSource(),cropFilter));<br />

}<br />

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

{<br />

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

}<br />

}<br />

Manipulation über Farbfilter<br />

Die folgen<strong>de</strong> Filterklasse ist abgeleitet von RGBImageFilter. Sie umfaßt<br />

filterRGB() und zw<strong>in</strong>gt e<strong>in</strong>em Bild e<strong>in</strong>en Grauschleier auf.<br />

class GrayFilter extends RGBImageFilter<br />

{<br />

public GrayFilter() {<br />

canFilterIn<strong>de</strong>xColorMo<strong>de</strong>l = true;<br />

}<br />

}<br />

public <strong>in</strong>t filterRGB(<strong>in</strong>t x, <strong>in</strong>t y, <strong>in</strong>t rgb) {<br />

<strong>in</strong>t a = rgb & 0xff000000;<br />

<strong>in</strong>t r = (((rgb & 0xff0000) + 0x180000)/3) & 0xff0000;<br />

<strong>in</strong>t g = (((rgb & 0x00ff00) + 0x018000)/3) & 0x00ff00;<br />

<strong>in</strong>t b = (((rgb & 0x0000ff) + 0x000180)/3) & 0x0000ff;<br />

return a | r | g | b;<br />

}<br />

279

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!