IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

Réaliser une ombre


Sujet :

2D Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 34
    Par défaut Réaliser une ombre
    Bonjour,
    je cherche à réaliser des ombres à partir d'une image quelconque.
    Voici une simple image pour illustrer mon problème.

    Je voudrais simplement rajouter un effet d'anti-aliasing à l'ombre.

    Pour arriver à ce résultat je réduit l'image de 33% de hauteur puis je la cisaille, ensuite je transforme tout pixel de couleur en noir ( et le transparent reste tel quel ) , le problème vient de cette transformation qui ne peut gérer d'anti-aliasing, je ne vois pas vraiment comment faire.

    Voici le code pour ceux qui préfère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    	private BufferedImage toOmbre(Image image) 
    	{
           BufferedImage bufferedImage = configurationGC.createCompatibleImage(image.getWidth(null)*2, image.getHeight(null)*35/100, BufferedImage.TYPE_INT_ARGB);
     
                    Graphics2D g = (Graphics2D) bufferedImage.getGraphics();
                    g.shear(0.8,0);
                    g.drawImage(image,0,0,image.getWidth(null), image.getHeight(null)*33/100,null);
                    g.dispose();
     
            for(int i=0;i<bufferedImage.getWidth();i++)
            	for(int j=0;j<bufferedImage.getHeight();j++)
            		{
                		int rgb = bufferedImage.getRGB(i,j);
     
                		if(((rgb >>16 ) & 0xFF) != 0 && ((rgb >> 8 ) & 0xFF ) !=0 &&  (rgb & 0xFF) !=0) 
    bufferedImage.setRGB(i,j,(255<<24)+(0<<16)+(0<<8)+0);
            		}
     
     
            return bufferedImage;  
    	}
    Y aurait-il une méthode de Graphics2D qui permettrait de transformer une image en noir là ou il y a de la couleur et de laisser un effet d'anti-aliasing aux bordures?

    Merci à vous.
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 23/01/2008, 09h17
  2. [GD] Réaliser une ombre
    Par Atomicfryer dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 03/02/2005, 16h35
  3. [FLASH MX] Comment réaliser une forme dentelée
    Par celina5880 dans le forum Flash
    Réponses: 4
    Dernier message: 04/11/2004, 17h48
  4. [TQuery]Réaliser une requete à partir d'une requete
    Par Eric SAULNIER dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/07/2004, 12h00
  5. Contenir une ombre ds un plan : PB DE STENCIL !
    Par Muetdhiver dans le forum OpenGL
    Réponses: 6
    Dernier message: 11/03/2004, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo