2010-09-14 92 views
0

希望有人可以看到我错过了或什么的东西,因为这很奇怪! 基本上我创建了一个打印类,其中包含打印精灵的所有打印作业代码,但是当我打印精灵时,我创建的精灵就像一个面具,并且精灵图形应该填充的区域被填充与我的背景颜色。PrintJob打印背景颜色只有

因此,例如,我的100x100的黑色精灵看起来像这样在预览: http://www.willdonohoe.com/examples/print_job_fail.png

当我缩放图像的打印宽度和高度的宽度和高度,显然我有一整页的紫色。

反正这里是我的代码:

public function print():void { 

//bitmap_to_print.smoothing = true; 

var print_page:Sprite = new Sprite(); 
var sp:Sprite = new Sprite(); 
sp.graphics.beginFill(0x000000, 1); 
sp.graphics.drawRect(0, 0, 100, 100); 
sp.graphics.endFill(); 
print_page.addChild(sp); 

var print_job:PrintJob = new PrintJob(); 
addChild(print_page); 

if (print_job.start()) { 

    trace(">> pj.orientation: " + print_job.orientation); 
    trace(">> pj.pageWidth: " + print_job.pageWidth); 
      trace(">> pj.pageHeight: " + print_job.pageHeight); 
      trace(">> pj.paperWidth: " + print_job.paperWidth); 
      trace(">> pj.paperHeight: " + print_job.paperHeight); 

    print_page.height = print_job.pageHeight; 
    print_page.scaleX = print_page.scaleY; 

    print_job.addPage(print_page); 
    print_job.send(); 

    print_job = null; 

} else { 

    //User does not have printer or user cancelled print action 
} 
removeChild(print_page); 
} 

如果任何人有任何想法,或者有这个问题,在此之前任何帮助将大大appriciated。
非常感谢,

+0

只是复制/粘贴,可以工作得很好,一个黑色的方形显示(FP10)。紫色来自哪里?是不是只是你的打印机用完黑墨水:) – 2010-09-15 00:25:34

+0

嗯,这正是我所担心的,它在几天前工作,突然在改变了一些资产后,它就这样做了。我不知道它有什么问题!这不是我的打印机用完黑墨水!我使用预览窗口而不是销毁森林并打印出无尽的紫色方块!紫色是我的背景颜色,应该出现的黑色方块就像背景颜色的面具一样,所以你只能看到紫色的黑色方块! – WillDonohoe 2010-09-15 10:46:56

回答

0

我只是注意到,这个线程没有回答,我忘了说我找到了一个修复程序。出于某种原因,我需要将我想要直接打印到舞台上的对象添加到舞台上,例如stage.addChild(movieclip),奇怪的是,如果我将它添加到舞台上的小孩身上,它似乎不起作用,它必须是直接添加在舞台上。

好处是,如果您不想在打印时显示movieclip/bitmap/sprite,如果将可见性设置为false,它仍然会为您打印。

有点奇怪,但似乎工作。

干杯, 威尔