Transparence d'une image
Résolu
Sara426
Messages postés
782
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
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.
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.
1 réponse
-
"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 !-
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 ? -
-
-
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
-