0

因此,我在 Chrome 上遇到了一个奇怪的问题,我无法在网上找到任何与类似问题相关的帖子。我在一个 AS3 应用程序中有一个脚本,它将屏幕截图作为位图数据并将其与 PrintJob 对象一起发送到打印机。它可以在 Flash 中、在我的桌面本地以及除 Chrome 之外的所有浏览器中正常工作。

当我使用 Chrome 打印时,位图图像仅显示为灰色框,而不是实际图像本身。如果我将位图添加到舞台并从 Chrome 中查看它,我可以看到位图实际上包含除 50% 灰色填充之外的图像数据,但是一旦将其发送到 PrintJob,Chrome 似乎就会将其从这些数据中删除。

这是我正在使用的代码:

function printImage(clip:Sprite){
      var printJob:PrintJob = new PrintJob();
      printJob.start();                 
      printJob.addPage(clip);           
      printJob.send();
};

var clip:Sprite = new Sprite();
clip.addChild(bitmap);
printImage(clip);   

另外值得注意的是,当我将 PrintJobOptions.printAsBitmap 设置为 true 时,灰色框开始出现在所有实例中,而不仅仅是 Chrome

非常感谢您的帮助!!

4

1 回答 1

0

Chrome 的一个已知问题是任何被分配用于打印的 DisplayObject 都需要在舞台上。

只需将其添加到舞台并在之后将其删除,您就可以走了。

但是,我通常喜欢在所有东西后面设置一个容纳容器,以防止添加/删除孩子的眨眼。

于 2014-03-06T15:21:19.700 回答