我正在尝试使用flash中的printjob打印动画片段。
此动画片段包含两个图层:一个带有透明度的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;
提前致谢。
答案 0 :(得分:3)
我遇到同样的问题,需要在我的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 first参数是一个Sprite,所以我无法弄清楚如何使corneliu的解决方案有效。
答案 1 :(得分:1)
截取您的movieclip的截图:
var bmp:BitmapData = new BitmapData(_parent.imprimir.width, _parent.imprimir.height);
bmp.draw(_parent.imprimir);
var page:Bitmap = new Bitmap(bmp);
建议每种打印工作都使用此技术,因为在将位图发送到打印机之前,您可以将各种转换应用于位图(缩放,旋转,平滑等)。