Utilisateur anonyme
-
29 août 2003 à 00:56
OrionEnLive
Messages postés2Date d'inscriptionjeudi 15 mai 2003StatutMembreDernière intervention 6 octobre 2003
-
6 oct. 2003 à 16:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
OrionEnLive
Messages postés2Date d'inscriptionjeudi 15 mai 2003StatutMembreDernière intervention 6 octobre 2003 6 oct. 2003 à 16:32
Salut a tous,
J'ai teste ce source car il fait parti des exos d'un bouquin et je ne trouve pas que le source sois très bien surtout en ce qui concerne le filtre négatif qui n'est pas à la hauteur. J'en ai récupéré un plus rapide et plus performant sur le site
http://www.eteks.com/coursjava/image10.html
Voici le filtre :
class FiltreNegatif extends RGBImageFilter
{
public FiltreNegatif ()
{
// La transformation des couleurs ne dépend pas
// des coordonnées des points de l'image
canFilterIndexColorModel = true;
}
public int filterRGB (int x, int y, int rgb)
{
int alpha = rgb & 0xFF000000;
// Transformation des composantes RGB en leur inverse
int rougeInverse = (rgb & 0xFF0000) ^ 0xFF0000;
int vertInverse = (rgb & 0x00FF00) ^ 0x00FF00;
int bleuInverse = (rgb & 0x0000FF) ^ 0x0000FF;
return alpha | rougeInverse | vertInverse | bleuInverse;
}
}
Il est plus simple en plus.
Vous avez juste a reprendre le source du haut et a remplacer la ligne :
imgNegativ = createImage( new FilteredImageSource( imgOriginal.getSource()
, new ImageNegative() ) );
par :
imgNegativ = createImage( new FilteredImageSource( imgOriginal.getSource()
, new FiltreNegatif() ) );
et ca marche !!! enfin ca a marché pour moi
racine22
Messages postés1Date d'inscriptionmercredi 17 septembre 2003StatutMembreDernière intervention18 septembre 2003 18 sept. 2003 à 17:06
Ouais ok mais bon .... ca aurais etait bien que tu mette les commentaire ou les remarques qui etaient aussi ds le book
6 oct. 2003 à 16:32
J'ai teste ce source car il fait parti des exos d'un bouquin et je ne trouve pas que le source sois très bien surtout en ce qui concerne le filtre négatif qui n'est pas à la hauteur. J'en ai récupéré un plus rapide et plus performant sur le site
http://www.eteks.com/coursjava/image10.html
Voici le filtre :
class FiltreNegatif extends RGBImageFilter
{
public FiltreNegatif ()
{
// La transformation des couleurs ne dépend pas
// des coordonnées des points de l'image
canFilterIndexColorModel = true;
}
public int filterRGB (int x, int y, int rgb)
{
int alpha = rgb & 0xFF000000;
// Transformation des composantes RGB en leur inverse
int rougeInverse = (rgb & 0xFF0000) ^ 0xFF0000;
int vertInverse = (rgb & 0x00FF00) ^ 0x00FF00;
int bleuInverse = (rgb & 0x0000FF) ^ 0x0000FF;
return alpha | rougeInverse | vertInverse | bleuInverse;
}
}
Il est plus simple en plus.
Vous avez juste a reprendre le source du haut et a remplacer la ligne :
imgNegativ = createImage( new FilteredImageSource( imgOriginal.getSource()
, new ImageNegative() ) );
par :
imgNegativ = createImage( new FilteredImageSource( imgOriginal.getSource()
, new FiltreNegatif() ) );
et ca marche !!! enfin ca a marché pour moi
18 sept. 2003 à 17:06
29 août 2003 à 00:56