12.10.3 | Lesen von Bildauschnitten |
Wenn man nicht auf ein Mal auf das komplette Bild zugreifen möchte, kann man über das API einstellen, welchen Teil man gerne haben möchte. Hierzu übergibt man der read()-Methode ein zusätzliches ImageReadParam-Exemplar. Hierzu ist es am einfachsten, man erzeugt zunächst ein Exemplar mit allen Voreinstellungen und führt anschließend die gewünschten Änderungen durch:ImageReader in; ... ImageReadParam param = in.getDefaultReadParam(); param.setSourceRegion(new Rectangle(0, 0, 20, 20)); BufferedImage img = in.read(0, param);Das zurückgelieferte Bild enthält in diesem Fall lediglich einen quadratischen Ausschnitt von 20 mal 20 Pixel.
Über die Methode setDestination() hat man außerdem die Möglichkeit, den Bildpuffer zu bestimmen, in dem die Bilddaten abgelegt werden. Dadurch kann man für verschiedene Bilder denselben Puffer wiederverwenden.