Afficher une image sur une fenêtre et transparence avec java

Fermé
ouegrame - Modifié le 1 avril 2021 à 20:05
 ouegrame - 1 avril 2021 à 20:03
Je souhaiterais savoir comment aficher un image sur une fenetre

voici mes tentative

package net.ja.main;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Window;

import javax.swing.JFrame;
import javax.swing.JPanel;
 
/**
 * Charger et afficher une image dans un panel
 * http://www.fobec.com/java/919/charger-afficher-une-image-dans-jpanel.html
 * @author fobec 2010
 */
public class JImagePanel extends JPanel {
 
    private Image image = null;
    private Boolean stretch = true;
    
  
    /**
     * Constructeur
     * @param image image à afficher
     */
    public JImagePanel(Image image) {
        this.image = image;
    }
 
    /**
     * Constructeur
     * @param file nom du fichier
     */
    public JImagePanel(String file) {
        this.image = getToolkit().getImage(file);
    }
 
   /**
    * Position de l'image sur le panel
    * @param stretch true: etirer l'image / false: centrer l'image
    */
    public void setStretch(Boolean stretch) {
        this.stretch = stretch;
    }
 
    /**
     * Surcharger le dessin du composant
     * @param g canvas
     */
    protected void paintComponent(Graphics g) {
        int x = 0;
        int y = 0;
        int width = 0;
        int height = 0;
 
        if (this.stretch) {
            width = this.getWidth();
            height = this.getHeight();
        } else {
            width = this.image.getWidth(this);
            height = this.image.getHeight(this);
          
           
            x=((this.getWidth()-width)/2);
            y=((this.getHeight()-height)/2);
        }  
        
        this.setLocation(20, 2);
        
        this.setBounds(20, 20, width, height);
        
       
        
       
        g.drawImage(this.image, 20, 20, 0, 0, this);
    }
 
    /**
     * Exemple : jPanelImage dans un JFrame
     * @param args
     */
    public static void main(String[] args) {
        JImagePanel imagePanel = new JImagePanel("E:/img.png");
        //Centrer l'image
        imagePanel.setStretch(true);
        //Etirer l'image
       // imagePanel.setStretch(true);
 
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(imagePanel);
        frame.setSize(200, 400);
        frame.setLocation(200, 200);
        frame.setVisible(true);
    }
}


mais voilas je souhaiterais avoir cest certain paramètre

j'aimerais afficher cette partie de cette image

en prennent en compte yMin yMax xMin xMax

sur cette fenêtre

en prennent en compte yPos xPos
A voir également:

1 réponse

tout en peuvent afficher de la transparance aux formas png merci de votre réponse
0