Поместить большее изображение в меньший холст - PullRequest
0 голосов
/ 19 августа 2011

Мой вопрос: я создал и заполнил приложение Canvas в Eclipse RCP следующим образом:

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  
              }  
              });  

и по определению этот холст имеет полосы V_Scroll и H_Scroll, но они не прокручивают изображение, отображаемое во время выполнения. Теперь мои требования:

Изображение слишком велико для холста небольшого размера. Итак, как мне сделать загруженное изображение:

  1. либо вписывается в холст.
  2. Или сделайте так, чтобы полосы прокрутки Canvas (которые я добавил, или любые другие) использовались так, чтобы они могли прокручивать изображение вверх, вниз на холсте во время выполнения.

1 Ответ

0 голосов
/ 20 августа 2011

Посмотрите на этот фрагмент , в котором объясняется, как прокрутить изображение на холсте SWT.

...