2010-09-14 95 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,它仍然會爲您打印。

有點奇怪,但似乎工作。

乾杯, 威爾