java.awt.image

Class BandCombineOp

  • All Implemented Interfaces:
    RasterOp

    public class BandCombineOp
    extends Object
    implements RasterOp
    This class performs an arbitrary linear combination of the bands in a Raster, using a specified matrix.

    The width of the matrix must be equal to the number of bands in the source Raster, optionally plus one. If there is one more column in the matrix than the number of bands, there is an implied 1 at the end of the vector of band samples representing a pixel. The height of the matrix must be equal to the number of bands in the destination.

    For example, a 3-banded Raster might have the following transformation applied to each pixel in order to invert the second band of the Raster.

       [ 1.0   0.0   0.0    0.0  ]     [ b1 ]
       [ 0.0  -1.0   0.0  255.0  ]  x  [ b2 ]
       [ 0.0   0.0   1.0    0.0  ]     [ b3 ]
                                       [ 1 ]
     

    Note that the source and destination can be the same object.

    • Constructor Detail

      • BandCombineOp

        public BandCombineOp(float[][] matrix,
                     RenderingHints hints)
        Constructs a BandCombineOp with the specified matrix. The width of the matrix must be equal to the number of bands in the source Raster, optionally plus one. If there is one more column in the matrix than the number of bands, there is an implied 1 at the end of the vector of band samples representing a pixel. The height of the matrix must be equal to the number of bands in the destination.

        The first subscript is the row index and the second is the column index. This operation uses none of the currently defined rendering hints; the RenderingHints argument can be null.

        Parameters:
        matrix - The matrix to use for the band combine operation.
        hints - The RenderingHints object for this operation. Not currently used so it can be null.
    • Method Detail

      • getMatrix

        public final float[][] getMatrix()
        Returns a copy of the linear combination matrix.
        Returns:
        The matrix associated with this band combine operation.
      • filter

        public WritableRaster filter(Raster src,
                            WritableRaster dst)
        Transforms the Raster using the matrix specified in the constructor. An IllegalArgumentException may be thrown if the number of bands in the source or destination is incompatible with the matrix. See the class comments for more details.

        If the destination is null, it will be created with a number of bands equalling the number of rows in the matrix. No exception is thrown if the operation causes a data overflow.

        Specified by:
        filter in interface RasterOp
        Parameters:
        src - The Raster to be filtered.
        dst - The Raster in which to store the results of the filter operation.
        Returns:
        The filtered Raster.
        Throws:
        IllegalArgumentException - If the number of bands in the source or destination is incompatible with the matrix.
      • getBounds2D

        public final Rectangle2D getBounds2D(Raster src)
        Returns the bounding box of the transformed destination. Since this is not a geometric operation, the bounding box is the same for the source and destination. An IllegalArgumentException may be thrown if the number of bands in the source is incompatible with the matrix. See the class comments for more details.
        Specified by:
        getBounds2D in interface RasterOp
        Parameters:
        src - The Raster to be filtered.
        Returns:
        The Rectangle2D representing the destination image's bounding box.
        Throws:
        IllegalArgumentException - If the number of bands in the source is incompatible with the matrix.
      • createCompatibleDestRaster

        public WritableRaster createCompatibleDestRaster(Raster src)
        Creates a zeroed destination Raster with the correct size and number of bands. An IllegalArgumentException may be thrown if the number of bands in the source is incompatible with the matrix. See the class comments for more details.
        Specified by:
        createCompatibleDestRaster in interface RasterOp
        Parameters:
        src - The Raster to be filtered.
        Returns:
        The zeroed destination Raster.
      • getPoint2D

        public final Point2D getPoint2D(Point2D srcPt,
                         Point2D dstPt)
        Returns the location of the corresponding destination point given a point in the source Raster. If dstPt is specified, it is used to hold the return value. Since this is not a geometric operation, the point returned is the same as the specified srcPt.
        Specified by:
        getPoint2D in interface RasterOp
        Parameters:
        srcPt - The Point2D that represents the point in the source Raster
        dstPt - The Point2D in which to store the result.
        Returns:
        The Point2D in the destination image that corresponds to the specified point in the source image.
      • getRenderingHints

        public final RenderingHints getRenderingHints()
        Returns the rendering hints for this operation.
        Specified by:
        getRenderingHints in interface RasterOp
        Returns:
        The RenderingHints object associated with this operation. Returns null if no hints have been set.

Nederlandse vertaling

U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.

Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.

Bij voorbaat dank.

Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-java/awt/image/bandcombineop.html

De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.

Referenties

  1. Bekijk - html-document Taal van het document:fr Manuel PHP : https://docs.oracle.com

Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.

Inhoudsopgave Haut