将较大的图像放入较小的画布中

时间:2011-08-19 11:29:31

标签: eclipse image canvas rcp

我的问题:我已经在Eclipse RCP应用程序中创建并填充了Canvas,如下所示:

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 :(得分:0)

看看这个snippet,它解释了如何在SWT画布上滚动图像。