AS3 Flash printJob 打印空白页
AS3 Flash printJob print blank page
我只想知道 flash web 中 action script 3 的打印问题。
我有两个影片剪辑,其中一个有位图图像,另一个用于纸张大小。
我尝试打印此作品,但我总是得到空白纸。
我的代码有什么问题?
var printJob:PrintJob = new PrintJob();
//stage.stageWidth = 2481;
//stage.stageHeight = 3508;
mc.width = 980; // mc is a paper
mc.height = 700;
mc.x = mc.y = 0;
mc.addChild(content_mc);
content_mc.x = 10; // content_mc is a movie clip has a bitmap
content_mc.y = 10;
addChild(content_mc);
if (printJob.start()) {
if (mc.width>printJob.pageWidth) {
mc.width=printJob.pageWidth;
mc.scaleY=mc.scaleX;
}
var rect1:Rectangle = new Rectangle(0, 0, 980, 700);
printJob.addPage(mc,rect1);
printJob.send();
}
这太容易被发现了:
mc.addChild(content_mc);
addChild(content_mc);
也许您是故意这样做的,认为您可以同时在不同的地方添加一个 DisplayObject。不,你不能,一个 DisplayObject 在任何时候都只能属于一个显示列表。您可以将它添加到任意数量的显示列表中,最后一个 addChild 将是最重要的。在您的示例中,您将内容添加到 mc,然后通过将其添加到另一个显示列表来立即将其删除。
你需要的是将它添加到mc,然后打印,然后将它添加回它应该在的位置。你要做的是将它添加到 mc,将它添加回它应该在的位置,然后打印它当然是空白的。
mc.addChild(content_mc);
content_mc.x = 10;
content_mc.y = 10;
if (printJob.start())
{
if (mc.width>printJob.pageWidth)
{
mc.width=printJob.pageWidth;
mc.scaleY=mc.scaleX;
}
var rect1:Rectangle = new Rectangle(0, 0, 980, 700);
printJob.addPage(mc,rect1);
printJob.send();
}
addChild(content_mc);
我只想知道 flash web 中 action script 3 的打印问题。
我有两个影片剪辑,其中一个有位图图像,另一个用于纸张大小。
我尝试打印此作品,但我总是得到空白纸。 我的代码有什么问题?
var printJob:PrintJob = new PrintJob();
//stage.stageWidth = 2481;
//stage.stageHeight = 3508;
mc.width = 980; // mc is a paper
mc.height = 700;
mc.x = mc.y = 0;
mc.addChild(content_mc);
content_mc.x = 10; // content_mc is a movie clip has a bitmap
content_mc.y = 10;
addChild(content_mc);
if (printJob.start()) {
if (mc.width>printJob.pageWidth) {
mc.width=printJob.pageWidth;
mc.scaleY=mc.scaleX;
}
var rect1:Rectangle = new Rectangle(0, 0, 980, 700);
printJob.addPage(mc,rect1);
printJob.send();
}
这太容易被发现了:
mc.addChild(content_mc);
addChild(content_mc);
也许您是故意这样做的,认为您可以同时在不同的地方添加一个 DisplayObject。不,你不能,一个 DisplayObject 在任何时候都只能属于一个显示列表。您可以将它添加到任意数量的显示列表中,最后一个 addChild 将是最重要的。在您的示例中,您将内容添加到 mc,然后通过将其添加到另一个显示列表来立即将其删除。
你需要的是将它添加到mc,然后打印,然后将它添加回它应该在的位置。你要做的是将它添加到 mc,将它添加回它应该在的位置,然后打印它当然是空白的。
mc.addChild(content_mc);
content_mc.x = 10;
content_mc.y = 10;
if (printJob.start())
{
if (mc.width>printJob.pageWidth)
{
mc.width=printJob.pageWidth;
mc.scaleY=mc.scaleX;
}
var rect1:Rectangle = new Rectangle(0, 0, 980, 700);
printJob.addPage(mc,rect1);
printJob.send();
}
addChild(content_mc);