[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.platform.swt] Re: Capture Screen?

See GC.copyArea. You can use this with Display:

public static void main(String[] args) {
 final Display display = new Display();
 Shell shell = new Shell(display);
 shell.setLayout(new FormLayout());
 Button b = new Button(shell, SWT.PUSH);
 b.setText("Take ScreenShot");
 final Canvas c = new Canvas(shell, SWT.BORDER);
 b.addListener(SWT.MouseDown, new Listener() {
  public void handleEvent(Event e) {
   Rectangle rect = display.getBounds();
   Image image = new Image(display, rect.width, rect.height);
   GC gc = new GC(display);
   gc.copyArea(image, 0, 0);
   gc.dispose();
   gc = new GC(c);
   gc.drawImage(image, 0, 0);
   gc.dispose();
   image.dispose();
  }
 });
 FormData data = new FormData();
 data.left = new FormAttachment(0, 10);
 data.top = new FormAttachment(0, 10);
 b.setLayoutData(data);
 data = new FormData();
 data.left = new FormAttachment(0, 10);
 data.top = new FormAttachment(b, 10);
 data.right = new FormAttachment(100, -10);
 data.bottom = new FormAttachment(100, -10);
 c.setLayoutData(data);
 shell.open();
 while (!shell.isDisposed()) {
  if (!display.readAndDispatch())
   display.sleep();
 }
 display.dispose();
}

"Willy" <pepe@xxxxxxxxx> wrote in message news:bfrv42$fdc$1@xxxxxxxxxxxxxx
> HOWTO capture screen with SWT in win98 or linux?
>