Transparence d'une image

Résolu/Fermé
Sara426 Messages postés 671 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 - 1 déc. 2012 à 20:55
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 2 déc. 2012 à 14:15
Bonjour,

Je suis en train de programmer un mini jeu.
J'ai une image de fond avec de l'herbe avec un personnage dessus.
Ce que j'aimerais faire c'est griser la case, ou juste l'assombrir.
Est-ce que quelqu'un sait faire ?

Cordialement,
Sara.

A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
1 déc. 2012 à 20:59
"griser la case, ou juste l'assombrir"
Au début tu parlais de transparence d'images qui se superposait donc j'arrivais à suivre, mais là tu parles de "case" et je ne vois pas de quoi tu parles... Un exemple de code serait le bienvenu !
0
Sara426 Messages postés 671 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 63
2 déc. 2012 à 13:39
Mon jeu est représenté sous forme d'une grille.
Chaque personnage est dans une case.
Et je voudrais griser cette case lorsque le personnage a joué.

Je parlais de transparence parce que je voulais justement dessiner un rectangle rouge ou gris par dessus cette case, mais que le rectangle ne soit pas totalement rempli, juste assez pour qu'on puisse voir le personnage par dessous.

Est-ce que tu comprends ce que je veux dire ?
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
2 déc. 2012 à 13:44
Si tu as compris le principe de superposition des images, il te suffit de superposer encore une autre image mais cette-fois ci avec ton rectangle partiellement transparent...
0
Sara426 Messages postés 671 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 63
2 déc. 2012 à 14:05
Justement je sais comment dessiner deux rectangles l'un au-dessus de l'autre, mais je sais pas comment le rendre partiellement transparent.
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
2 déc. 2012 à 14:15
Tu peux aussi dessiner des images l'une au dessus de l'autre, donc avec un éditeur d'image tu fais des images transparentes, et tu les superposes les unes au dessus des autres...

public class Test
{
    public static void main(String[] args)
    {
        JPanel panel = new JPanel()
        {
            private static final long serialVersionUID = 1;
            
            private final Image img1 = new ImageIcon("C:/vert.png").getImage();
            private final Image img2 = new ImageIcon("C:/gus.png").getImage();
            private final Image img3 = new ImageIcon("C:/rouge.png").getImage();
                            
            public void paint(Graphics g) 
            {
                super.paint(g);
                g.drawImage(img1, 0, 0, null, null);
                g.drawImage(img2, 0, 0, null, null);
                g.drawImage(img3, 0, 0, null, null);
            }
        };
        
        JFrame frame = new JFrame();
        frame.add(panel);
        frame.setSize(150,150);        
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

Si tu veux tester comme moi, j'ai mis les 3 images en lignes : images.zip
0