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

SWT/JFace Java Discussion :

Comment remplacer une image dans un canvas.


Sujet :

SWT/JFace Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Comment remplacer une image dans un canvas.
    Hello,
    J'essaye de remplacer une image que j'affiche dans un canvas.

    Voici comment j'affiche l'image:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    canvas.addListener (SWT.Paint, new Listener () {
       public void handleEvent (Event e) {
          GC gc = e.gc;
          gc.drawImage (image, origin.x, origin.y);
       }
    });
    L'image s'affiche. Cependant, apres cela, je veux afficher une nouvelle image dans le canvas, en sélectionnant un fichier image a l'aide d'un FileDialog, ouvert a partir d'un bouton de menu.

    Je cree donc un listener pour mon menu "open file". Mon soucis est que je n'arrive pas a afficher la nouvelle image dans le canvas. Voici ce que je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    MenuItem openItem = new MenuItem(fileMenu, SWT.NONE);
    openItem.addListener(SWT.Selection, new Listener() {
       public void handleEvent(Event e) {
    	FileDialog dialog = new FileDialog(shell.getShell(), SWT.OPEN);
    	dialog.setText("Open an image file or cancel");
    	String string = dialog.open();
    	final Image newimage = new Image(shell.getDisplay(), string);
    	image.dispose();
    	???? Comment ecrire la newimage  dans le canvas?
    	canvas.redraw();
       }
    });
    Il me manque une partie, a savoir , comment re ecrire la nouvelle image dans le canvas.
    Si qqun peut me donner un pti coup de pouce??
    Merci, morchea.

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Bon, ca va, j'ai trouve..

    Voici la solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    MenuItem openItem = new MenuItem(fileMenu, SWT.NONE);
    openItem.addListener(SWT.Selection, new Listener() {
       public void handleEvent(Event e) {
    	FileDialog dialog = new FileDialog(shell.getShell(), SWT.OPEN);
    	dialog.setText("Open an image file or cancel");
    	String string = dialog.open();
    	newimage = new Image(shell.getDisplay(), string);  
    	GC gc = new GC(canvas);
    	image = newimage;
    	gc.drawImage(image, 0, 0);
       }
    });
    Avec

    public static Image image;

    Super ce forum sinon, plein de bon contenu!
    morchea.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/03/2016, 20h22
  2. Comment inserer une image dans une table sous sql qerveur
    Par zeddy23 dans le forum Bases de données
    Réponses: 4
    Dernier message: 25/02/2005, 08h51
  3. Comment insérer une image dans une cellule d'un TDrawGrid ?
    Par kanux dans le forum Composants VCL
    Réponses: 4
    Dernier message: 15/01/2005, 18h58
  4. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 17h06
  5. Comment copier une image dans le presse papier.
    Par cprogil dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2003, 15h54

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