2010-12-02 36 views
2

我想用printjob在flash中打印一個movieclip。用printjob(Flash AS)打印透明png的問題

這個動畫片段包含兩層:一個帶有透明度的PNG圖像,另一個帶有一個jpg圖像。

問題是不尊重png的透明度,所以jpg圖像不出現。

我正在使用的代碼是真正簡單:

var my_pj:PrintJob = new PrintJob(); 

if (my_pj.start()) { 
    my_pj.addPage("_parent.imprimir", {xMin:0, xMax:399, yMin:0, yMax:900}, false); 
    my_pj.send(); 
} 
delete my_pj; 

在此先感謝。它發送到前

var bmp:BitmapData = new BitmapData(_parent.imprimir.width, _parent.imprimir.height); 
bmp.draw(_parent.imprimir); 
var page:Bitmap = new Bitmap(bmp); 

這種技術被推薦爲每PrintJob的,因爲你可以應用各種變換的位圖(縮放,旋轉,平滑等):

回答

1

把你的影片剪輯的屏幕截圖打印機。

+0

除了矢量質量會丟失? – alxx 2010-12-03 13:13:03

+0

@alxx你是什麼意思?無論如何他會打印動畫片段,他需要什麼樣的媒介?更何況在這個問題中,他清楚地表明,他有一個PNG和一個JPG,而不是矢量。 – 2010-12-03 13:20:29

2

我有同樣的問題,需要在我的PrintJob中有一些透明PNG和向量。 Adobe表示使用方法:

var options:PrintJobOptions = new PrintJobOptions(); 
options.printAsBitmap = true; 
myPrintJob.addPage(mySprite, null, options); 

但在Mac上,我們得到了一個空白頁打印,除非你有在舞臺上的對象。感謝Craig Grummitt在忘記博客之前發佈的解決方案! http://craiggrummitt.wordpress.com/2007/12/21/printasbitmap-object-must-be-on-stage

this.addChild(page); 
//for macs only – otherwise they display the page while the print dialogue is open. 
page.visible = false; 
var myOption:PrintJobOptions = new PrintJobOptions(true); 
my_pj.addPage(page, null, myOption); 
my_pj.send(); 
this.removeChild(page); 

我只是躲在我需要打印的對象,這種解決方案對我的作品很大。我正在導出庫中有一個符號。我的載體上有透明的PNG。

addPage第一個參數是一個Sprite,所以我無法弄清楚如何讓corneliu的解決方案工作。