API java : BandCombineOp


java.awt.image
Class BandCombineOp

java.lang.Object
  extended by java.awt.image.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. [ 1.0 0.0 0.0 0.0 ] [ b1 ]
  2. [ 0.0 -1.0 0.0 255.0 ] x [ b2 ]
  3. [ 0.0 0.0 1.0 0.0 ] [ b3 ]
  4. [ 1 ]

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


Constructor Summary
BandCombineOp(float[][] matrix, RenderingHints hints)
          Constructs a BandCombineOp with the specified matrix.
 
Method Summary
 WritableRaster createCompatibleDestRaster(Raster src)
          Creates a zeroed destination Raster with the correct size and number of bands.
 WritableRaster filter(Raster src, WritableRaster dst)
          Transforms the Raster using the matrix specified in the constructor.
 Rectangle2D getBounds2D(Raster src)
          Returns the bounding box of the transformed destination.
 float[][] getMatrix()
          Returns the matrix.
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          Returns the location of the corresponding destination point given a point in the source Raster.
 RenderingHints getRenderingHints()
          Returns the rendering hints for this operation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 the 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.

Ces informations proviennent du site de http://java.sun.com

Remarques

Contenu

Le contenu de cette page provient du site de Sun, et est généré depuis un cache sur l'infobrol après certains traitements automatisés. La présentation peut donc différer du document original, mais le contenu aussi. Vous pouvez utiliser ce bouton pour afficher la page originale du site de Sun :

Quels sont les motivations de cette démarche?

Maintenir les pages en cache sur différents sites peut offrir plus de disponibilité.

Chaque page est indexée dans la base de donnée, ce qui permet de retrouver facilement les informations, au moyen des sommaires, du moteur de recherche interne, etc.

Des facilités sont mises en place pour que les membres de l'infobrol puissent effectuer des traductions en français des différents documents. Ceci devrait permettre aux débutants en programmation Java de consulter les API en français s'ils maîtrisent moins bien la langue de Shakespeare. Dans le cas où une traduction a été soumise, elle est disponible au moyen d'un lien en bas de page. Si la traduction a été validée, la page s'affiche par défaut en français, et un lien en bas de page permet d'atteindre la version en anglais.

Le code sur l'infobrol est automatiquement coloré selon la syntaxe, et les différents mots clés sont transformés en liens pour accéder rapidement aux informations.

Vous avez la possibilité de partager vos expériences en proposant vos propres extraits de code en utilisant le bouton "ajouter un commentaire" en bas de page. Si vous visitez simplement l'infobrol, vous avez déjà accès à cette fonction, mais si vous étes membre du brol, vous pouvez en plus utiliser des boutons supplémentaires de mise en forme, dont la coloration automatique de vos extraits de codes.

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

7 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-2097
Document créé le 31/08/06 03:46, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http:///www.gaudry.be/java-api-rf-java/awt/image/BandCombineOp.html
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15838 documents
455 astuces.
550 niouzes.
3107 definitions.
447 membres.
8121 messages.

Document genere en :
0,14 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
friends don't let friends do shared mutation.

Venkat Subramaniam [devoxx 2015]
 
l'infobrol
Nous sommes le Mardi 23 Mai 2017, 10:54, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)