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

Multimédia Java Discussion :

Afficher image dans un canvas


Sujet :

Multimédia Java

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 130
    Par défaut Afficher image dans un canvas
    Bonjour,
    je recupere une image à partir d'une BD mais je ne sais pas comment faire pour l'afficher dans un canvas dans ma JFrame.
    Merci.

  2. #2
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Bonjour,

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    import java.awt.*;
    import java.awt.image.*;
     
         public class ImageCanvas extends Canvas {
         Image image;
     
             public ImageCanvas(String name) {
             MediaTracker media = new MediaTracker(this);
             image = Toolkit.getDefaultToolkit().getImage(name);
             media.addImage(image, 0);
                 try {
                 media.waitForID(0); 
             }
             catch (Exception e) {}
         }
     
             public ImageCanvas(ImageProducer imageProducer) {
             image = createImage(imageProducer);
         }
     
             public void paint(Graphics g) {
             g.drawImage(image, 0,0, this);
         }
     
             public static void main(String argv[]) {
                 if (argv.length < 1) {
                 System.out.println
                 ("usage: ImageCanvas.class [image file name]");
                 System.exit(0);
             }
             Frame frame = new Frame(argv[0]);
             frame.setLayout(new BorderLayout());
             frame.add("Center", new ImageCanvas(argv[0]));
             frame.resize(400,400);
             frame.show();
         }
    }

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    public class ImagePanel extends JComponent {
      public static String IMAGE_PROPERTY = "image";
      private BufferedImage image;
     
      /**
      * {@inheritDoc}
      */
      @Override
      protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        if (image != null) {
          Insets insets = getInsets();
          Dimension size = getSize();
          int width = size.width - (insets.left + insets.right);
          int height = size.height - (insets.top + insets.bottom);
          Graphics2D g2d = (Graphics2D)g.create(insets.left, insets.top, width, height);
          try {
            g2d.drawImage(image, 0, 0, null); // Redimensionner a la bonne taille si besoin.
           }
           finally {
             g2d.dispose();
           }
        }
      }
     
      public BufferedImage getImage() {
        return image;
      }
     
      public void setImage(BufferedImage value) {
        BufferedImage oldValue = image;
        image = value;
        firePropertyChange(IMAGE_PROPERTY, oldValue, value);
      }
    }
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. Tkinter : afficher une image dans un canvas
    Par nicolivier dans le forum Tkinter
    Réponses: 4
    Dernier message: 28/03/2013, 21h20
  2. Afficher une image dans un canvas
    Par laurentze dans le forum Débuter
    Réponses: 5
    Dernier message: 21/01/2010, 10h02
  3. afficher une image dans un canvas
    Par alex.blais dans le forum Tkinter
    Réponses: 4
    Dernier message: 08/12/2007, 18h29
  4. afficher une image dans un canvas
    Par Arrakis dans le forum Tkinter
    Réponses: 1
    Dernier message: 05/03/2007, 13h22
  5. [struts] Afficher image dans JSP a partir d'un byte[]
    Par igloof dans le forum Struts 1
    Réponses: 1
    Dernier message: 16/05/2006, 11h11

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