2
버튼이 있습니다.이 버튼과 관련된 기능은 스테이지의 일부분을 인쇄하는 작업입니다. 문제는 인쇄 한 후 특정 부분이 이미지 위에 무대 위에 표시된다는 것입니다. 스테이지에서 스프라이트를 제거하기 위해 이미 removechild를 사용했지만 문제는 다른 곳에서 발생한다고 생각합니다. 누군가 나를 도울 수 있다면 정말 고맙겠습니다.Actionscript 3, printjob을 실행 한 후 파일이 변경됩니다.
var printJob:PrintJob = new PrintJob();
var options:PrintJobOptions = new PrintJobOptions();
options.printAsBitmap = false;
printJob.start();
var bitmapData:BitmapData = new BitmapData(stage.stageWidth,stage.stageHeight);
bitmapData.draw(stage);
var bitmapDataA:BitmapData = new BitmapData(700,460);
bitmapDataA.copyPixels(bitmapData, new Rectangle(0, 270, 700, 800), new Point(0, 0));
//convert bitmapdata to bitmap to sprite
var screenShot:Bitmap = new Bitmap(bitmapDataA);
addChild(screenShot);
var axSprite:Sprite = new Sprite();
axSprite = (bitmapToSprite(screenShot));
//========== printjob bug fix - prevent blank pages: ==========
axSprite.x = 2000;//keep it hidden to the side of the stage
//axSprite.y = 2000;
stage.addChild(axSprite);
//add to stage - prevents blank pages;
//=============================================================
var myScale:Number;
myScale = Math.min(printJob.pageWidth/axSprite.width, printJob.pageHeight/axSprite.height);
axSprite.scaleX = axSprite.scaleY = myScale;
var printArea:Rectangle = new Rectangle(0,0, printJob.pageWidth/myScale, printJob.pageHeight/myScale);
printJob.addPage(axSprite, printArea, options);
printJob.send();
stage.removeChild(axSprite);
axSprite = null;
printJob = null;