2009-09-21 4 views
3

사용중인 컨트롤 (이 경우 ArcGIS server map)의 현재 상태를 인쇄하도록 응용 프로그램을 설정했지만 사용하는 인쇄 기능을 설정하고 싶습니다. 응용 프로그램의 상태를 잡는 대신 인쇄 할 자체 템플릿.플렉스 템플릿 사용

FlexPrintJob을 호출 할 때 인쇄 및 인스턴스화하려는 항목을 배치하는 flex 구성 요소를 설정하여이 작업을 시도했습니다. 불행히도 간단히 인스턴스화하면 빈 녹색 사각형이됩니다.

내가 여기에 제시하고자하는 두 가지 주요 질문이 있습니다. 첫째, 화면에서 기존 컨트롤을 잡는 것보다 새로 인스턴스화 된 템플릿을 인쇄하려면 어떻게해야합니까? 둘째, ArcGIS 맵과 같이 여러 소스에서 복잡한 데이터를로드해야하는 컨트롤이 많을 경우 해당 환경에서 인스턴스를 생성 할 수 있습니까? 아니면 응용 프로그램에서 컨트롤 이미지를 가져 와서 인쇄 할 수있는 방법이 있습니까? ?

답변

1

ImageSnapshot.captureBitmapData() 메서드를 사용하여 맵 이미지를 비트 맵 데이터로 가져온 다음 필요한 경우 copyPixels() 메서드를 사용하여 다른 BitMapData 객체로 클립핑하는 것이 가장 좋은 방법이라는 것을 발견했습니다.) 방법.

나는 인쇄 작업에 템플릿을 추가, 간단합니다이었다 수행 더라면 :

Application.application.addChild(printTemplate); 
printJob.addObject(printTemplate,FlexPrintJobScaleType.SHOW_ALL); 
//printJob.printAsBitmap(); 
Application.application.removeChild(printTemplate);