Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Vorhergehendes Paket   Seite Zurück   Seite Vor   Nächstes Paket   Paketübersicht   Index

Klasse java.awt.image.PixelGrabber1.0

java.lang.Object
   |
   +--java.awt.image.PixelGrabber

Deklaration

public class PixelGrabber
extends java.lang.Object
implements java.awt.image.ImageConsumer

Beschreibung

Mit der Klasse PixelGrabber ist es möglich, einen Ausschnitt eines Bildes zu kopieren. Das Bild muß hierbei in Form eines Image-Objekts vorliegen. Der Ausschnitt wird über seine Breite und Höhe sowie seine linke obere Ecke festgelegt. Über die Parameter offset und scansize der Konstruktoren ist es möglich, durch aufeinanderfolgende Aufrufe von grabPixels() ein Bild aus mehreren Teilbildern zusammenzusetzen oder zu überlagern. offset legt den Startindex fest, ab dem die Pixel im Puffer-Array gespeichert werden, und scansize ist die Pixel-Anzahl, um die die einzelnen Zeilen versetzt im Puffer gespeichert werden. Normalerweise wird scansize auf die Breite des gewünschten Ausschnitts gesetzt. Wenn scansize dagegen größer als die Breite ist, bleiben die überzähligen Spalten im Puffer unverändert.


 
Konstruktoren
publicPixelGrabber(Image img, int x, int y, int w, int h, boolean forceRGB)     [1.1]
publicPixelGrabber(Image img, int x, int y, int w, int h, int[] pix, int off, int scansize)
publicPixelGrabber(ImageProducer ip, int x, int y, int w, int h, int[] pix, int off, int scansize)
 
Methoden
public synchronized voidabortGrabbing()     [1.1]
public synchronized ColorModelgetColorModel()     [1.2]
public synchronized intgetHeight()     [1.1]
public synchronized ObjectgetPixels()     [1.1]
public synchronized intgetStatus()     [1.1]
public synchronized intgetWidth()     [1.1]
public booleangrabPixels()
public synchronized booleangrabPixels(long ms)
public synchronized voidimageComplete(int status)
public voidsetColorModel(ColorModel model)
public voidsetDimensions(int width, int height)
public voidsetHints(int hints)
public voidsetPixels(int srcX, int srcY, int srcW, int srcH, ColorModel model, byte[] pixels, int srcOff, int srcScan)
public voidsetPixels(int srcX, int srcY, int srcW, int srcH, ColorModel model, int[] pixels, int srcOff, int srcScan)
public voidsetProperties(Hashtable props)
public synchronized voidstartGrabbing()     [1.1]
public synchronized intstatus()
      Verworfen in Version 1.1.


 

Konstruktoren im Detail

public PixelGrabber(Image img, int x, int y, int w, int h, boolean forceRGB)     [1.1]
Erzeugt ein neues PixelGrabber-Objekt, mit dem ein Ausschnitt der Breite w, der Höhe h und der durch x und y festgelegten oberen linken Ecke ausgeschnitten werden kann. Die Bilddaten werden hierbei aus dem Image-Objekt img bezogen. Wenn forceRGB true ist, wird das voreingestellte RGB-Farbmodell zugrunde gelegt. Andernfalls wird das Farbmodell des Bildes übernommen.
public PixelGrabber(Image img, int x, int y, int w, int h, int[] pix, int off, int scansize)
Erzeugt ein neues PixelGrabber-Objekt, mit dem ein Ausschnitt aus dem Image-Objekt img kopiert werden kann. Der Ausschnitt hat die Breite w, die Höhe h und die durch x und y festgelegte obere linke Ecke. Die Farbwerte der Pixel werden ab dem Index off in dem Array pix gespeichert, wobei die Anfänge zweier aufeinanderfolgender Zeilen scansize Array-Positionen auseinander liegen.
public PixelGrabber(ImageProducer ip, int x, int y, int w, int h, int[] pix, int off, int scansize)
Wie die vorhergehende Variante, nur daß hier die Bilddaten vom ImageProducer ip bezogen werden.

 

Methoden im Detail

public synchronized void abortGrabbing()     [1.1]
Beendet den Kopiervorgang.
public synchronized ColorModel getColorModel()     [1.2]
Liefert das Farbmodell der Pixel-Daten zurück.
public synchronized int getHeight()     [1.1]
Liefert die Höhe des Bildes in Pixeln oder -1, falls die Höhe noch nicht ermittelt werden kann.
public synchronized Object getPixels()     [1.1]
Liefert die kopierten Pixel in einem int-Array, falls ein RGB-Farbmodell benutzt wurde, ansonsten in einem byte-Array.
public synchronized int getStatus()     [1.1]
Liefert den Aufbereitungsstatus der Kopie.
public synchronized int getWidth()     [1.1]
Liefert die Breite des Bildes in Pixeln oder -1, falls die Höhe noch nicht ermittelt werden kann.
public boolean grabPixels()
Versucht, die Pixel zu kopieren, und liefert true, wenn der Versuch erfolgreich war, oder false, wenn ein Fehler aufgetreten oder wenn eine Unterbrechung durch einen anderen Thread eingetreten ist. Diese Methode blockiert so lange, bis entweder der Kopiervorgang beendet oder ein Fehler aufgetreten ist.
Exception: InterruptedException
public synchronized boolean grabPixels(long ms)
Zusätzlich zur vorhergehenden Variante kann ein Timeout angegeben werden, in dem der Kopiervorgang abgeschlossen sein muß. Falls der Timeout vorher abläuft, wird auch false zurückgegeben.
Exception: InterruptedException
public synchronized void imageComplete(int status)
Wird aufgerufen, um den Aufbereitungsstatus des Bildes zu melden.
public void setColorModel(ColorModel model)
Diese Methode ist leer implementiert, da sie von dieser Klasse nicht benötigt wird.
public void setDimensions(int width, int height)
Setzt die Abmessungen der Kopie auf die übergebenen Werte.
public void setHints(int hints)
Diese Methode ist leer implementiert, da sie von dieser Klasse nicht benötigt wird.
public void setPixels(int srcX, int srcY, int srcW, int srcH, ColorModel model, byte[] pixels, int srcOff, int srcScan)
Kopiert den durch srcX, srcY, srcW und srcH festgelegten Ausschnitt aus dem Bild in das Array pixels. Mit srcOff wird der Startversatz, mit srcScan der Versatz zwischen den einzelnen Pixel-Zeilen im Quell-Array angegeben. Die Kopie erhält das Farbmodell model.
public void setPixels(int srcX, int srcY, int srcW, int srcH, ColorModel model, int[] pixels, int srcOff, int srcScan)
Wie die vorhergehende Variante, nur daß hier die Bilddaten in ein int-Array kopiert werden.
public void setProperties(Hashtable props)
Diese Methode ist leer implementiert, da sie von dieser Klasse nicht benötigt wird.
public synchronized void startGrabbing()     [1.1]
Startet den Kopiervorgang.
public synchronized int status()
Liefert die Aufbereitungsstatus der Kopie.


 Inhaltsverzeichnis   Vorhergehendes Paket   Seite Zurück   Seite Vor   Nächstes Paket   Paketübersicht   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.