2011-08-19 4 views
0

Ma question: Je l'ai créé et rempli une toile en application Eclipse RCP comme suit:Fit une plus grande image dans petite toile

Canvas myCanvas = new Canvas(comImageViewer, SWT.H_SCROLL | SWT.V_SCROLL); 
     myCanvas.setLocation(0, 0); 
     myCanvas.setSize(583, 432); 
     myCanvas.setLayout(new FormLayout()); 
     myCanvas.addPaintListener(new PaintListener() { 
      public void paintControl(PaintEvent e) { 
       GC gc = e.gc; 
       gc.drawImage(image,10,10); // Draw the moon 
       } 
       }); 

et par définition, cette toile a des barres V_Scroll et H_Scroll, mais ils ne le font pas faites défiler l'image affichée lors de l'exécution. Maintenant, Mes exigences sont:

L'image est trop grande pour une toile de petite taille. Ainsi, comment je peux faire l'image chargée:

  1. soit adapter dans la toile.
  2. Ou faites en sorte que les barres de défilement du canevas (que j'ai ajoutées ou n'importe lesquelles) utilisées permettent de faire défiler vers le haut l'image affichée dans le canevas lors de l'exécution.

Répondre

0

Jetez un oeil à ce snippet qui explique comment faire défiler une image sur un canevas SWT.

+0

merci Gorkem pour la réponse. – yayayokoho3

Questions connexes