希望有人可以看到我错过的东西或其他东西,因为这真的很奇怪! 基本上我已经创建了一个打印类,其中包含所有打印作业代码以打印精灵,但是当我打印它时,我创建的精灵就像一个遮罩,精灵图形的区域应该是我的背景颜色。
例如,我的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);
}
如果有人有任何想法,或者之前遇到过这个问题,那么任何帮助都会受到很大的关注。很多,谢谢,
答案 0 :(得分:0)
我刚注意到这个帖子没有回答,我忘了说我找到了修复。出于某种原因,我需要将我想直接打印的对象添加到舞台上,例如stage.addChild(movieclip),奇怪的是,如果我将它添加到舞台上的一个孩子中它似乎不起作用,它必须是直接在舞台上添加。
好消息是,如果你不想在打印时显示movieclip / bitmap / sprite,如果你将visiblity设置为false,它仍然会为你打印。
有点奇怪,但似乎有效。
干杯, 将