# View als Image



## Saxony (15. Feb 2010)

Hiho,

ich habe einen ViewPart, welcher diverse grafische Dinge enthält. Diesen möchte ich nun drucken. Dazu würde ich gern aus diesem View ein Image machen und dieses dann drucken lassen. Wie bekomme ich aber aus einem View ein Image, welches dessen Inhalt repräsentiert?

Vielleicht gibt es auch noch andere Möglichkeiten den (grafischen) Inhalt eines Views zu drucken, da bin ich für jede Idee offen. 

bye Saxony


----------



## lumo (15. Feb 2010)

ich würd nen screenshot vom desktop machen und dann einfach deinen view rausschneiden.
dazu musst du nur die linke obere ecke und die rechte untere ecke aus dem bild schneiden.
dann als datei speechern...

hab das in meinem code so gemacht

die funktion die mir den screenshot von meiner komponente macht:

```
public Image getScreenshot() {
		Image img = null;
		try {
			Robot robot = new Robot();

			Rectangle captureSize = new Rectangle(
					getBrowser().toDisplay(0, 0).x, getBrowser()
							.toDisplay(0, 0).y, getBrowser().getBounds().width,
					getBrowser().getBounds().height);
			BufferedImage bufferedImage = robot
					.createScreenCapture(captureSize);
			img = new Image(Display.getCurrent(), ImageConvert
					.convertToSWT(bufferedImage));
		} catch (AWTException e) {
			System.err.println("Someone call a doctor!");
		}
		return img;
	}
```
hier sollte "getBrowser()" natürlich deine komponente sein...

und hier noch die funktion, die mir den screenshot als png abspeichert:

```
public String saveScreenshot() {
		String filename = "screenshot.png";
		Image screenshot = getScreenshot();
		ImageLoader loader = new ImageLoader();
		loader.data = new ImageData[] { screenshot.getImageData() };
		loader.save(filename, SWT.IMAGE_PNG);
		screenshot.dispose();
		return filename;
	}
```


----------



## Wildcard (16. Feb 2010)

Printing Example : PrintSWT JFace EclipseJava


----------

