2012-03-15 6 views
2

zest 프레임 워크를 사용하여 네트워크보기 다이어그램을 만들었습니다.이 인터페이스는 SWT 디스플레이/셸을 사용하여 UI를 표시합니다. UI를 이미지/pdf로 내보내려고합니다. 어떻게 수행하나요? 어떤 아이디어?Zest : 다이어그램을 이미지로 내보내기/pdf

+0

5 월 http://www.rgagnon.com/javadetails/java-0489.html이 도움이 될 수 있습니까? – yggdraa

+0

@yggdraa 전 Zest와 함께 일한 적이 없습니다. 그러나 모든 것이 SWT와 JFace를 기반으로하고 있기 때문에 스크린 샷을 찍는 것보다 훨씬 더 정교한 내보내기 옵션을 사용할 수 있습니다. 다이어그램이 충분히 큰 경우 – phineas

답변

3

SWT GC.copyArea() 메서드를 사용하여 컨트롤의 내용을 이미지에 복사 한 다음 이미지를 파일에 저장할 수 있습니다. 예를 들어 Zest GraphViewer가 뷰어 인 경우 다음 코드는 내용을 out.png이라는 PNG 파일로 복사합니다.

GC gc = new GC(viewer.getControl()); 
Rectangle bounds = viewer.getControl().getBounds(); 
Image image = new Image(viewer.getControl().getDisplay(), bounds); 
try { 
    gc.copyArea(image, 0, 0); 
    ImageLoader imageLoader = new ImageLoader(); 
    imageLoader.data = new ImageData[] { image.getImageData() }; 
    imageLoader.save("c:\\out.png", SWT.IMAGE_PNG); 
} finally { 
    image.dispose(); 
    gc.dispose(); 
} 
+0

이 작동하지 않으므로 오른쪽/아래로 스크롤해야합니다. 이 문제에 대한 해결 방법이 있습니까? –

관련 문제