2012-05-29 1 views
0

3D 뷰와 일부 2D 뷰로 구성된 응용 프로그램이 있습니다. 이 문제는 2D 뷰 중 하나를 인쇄하려고 할 때 발생합니다. 인쇄가 수행 된 후에 3D보기가 사라집니다.2D 요소를 인쇄하면 stage3d 뷰가 사라집니다.

Away3D의 Basic_Load3DS 예제를 사용하여 문제를 재현했습니다. 인쇄 작업을 시작하기위한 빨간 버튼을 추가했습니다. PrintJob은 버튼을 인쇄하고 3D보기와 아무 관련이 없지만 인쇄가 끝난 후 개미가 사라집니다.

You can try it here. 빨간색 버튼을 클릭 한 다음 나타나는 문제의 인쇄 대화 상자에서 확인을 클릭하십시오. 소스보기가 가능합니다. 여기

내가 선 tPJ.addPage (_btn)를 주석 경우

private var _btn:Sprite; 
protected function initExtra():void 
{ 
 _btn = new Sprite(); 
 addChild(_btn); 
 _btn.graphics.beginFill(0xff0000); 
 _btn.graphics.drawRect(0, 0, 100, 100); 
 _btn.y = 100; 
 _btn.addEventListener(MouseEvent.CLICK, print); 
} 
protected function print(e:Event):void 
{ 
 var tPJ:PrintJob = new PrintJob(); 
 if (tPJ.start()) 
 { 
  tPJ.addPage(_btn); //This line cause the problem 
  tPJ.send(); 
 } 
}  

아무것도 잘못하지 않는 Basic_Load3DS 예에 추가하는 코드입니다;

이 문제를 해결하는 방법에 대한 아이디어가 있으십니까? 나는 해결책이 절실히 필요하다!

답변

0

전체 3D 장면을 그리려는 경우 CPU가 아닌 GPU에있는 것을 그리려는 것입니다. 장면을 비트 맵으로 그린 ​​다음 인쇄해야합니다.

flash.display.Context3D.drawToBitmapData;

둘째, 당신은 단지 버튼을 그리기거야? 비트 맵을 만든 다음 drawtobitmapdata를 사용하여 무대를 그려보십시오. 이렇게하면 원하는 결과를 얻을 수 있습니다.

+0

전체 3D 장면을 그리려는 시도가 아니며 2D 파트 만 인쇄하고 인쇄 결과는 훌륭합니다. 문제는 인쇄가 끝난 후 화면의 응용 프로그램에서 3D 장면이 사라진다는 것입니다. 예제에서 버튼을 하나만 인쇄하고 있습니다. 실제 응용 프로그램은 같은 방식으로 더 유용한 것들을 인쇄합니다. 인쇄물을 만드는 데 문제가 없으므로 인쇄가 끝난 후 화면에 3D가 사라지는 문제가 있습니다. – Andrium

+0

아, 알겠습니다. 이것은 아마도 버그 일 가능성이 높기 때문에보고해야합니다. – ansiart

관련 문제