0

そのため、Chrome で奇妙な問題が発生しましたが、オンラインで同様の問題について話している投稿を見つけることができませんでした。AS3 アプリに、スクリーンショットをビットマップ データとして取得し、それを PrintJob オブジェクトと共にプリンターに送信するスクリプトがあります。フラッシュ内、デスクトップ上のローカル、および 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

印刷用に割り当てられているすべての DisplayObject がステージ上にある必要があることは、Chrome の既知の問題です。

ステージに追加し、後で削除するだけで、すぐに使用できます。

ただし、私は通常、子の追加/削除の瞬きを防ぐために、すべての背後に埋められた保持コンテナーを設定するのが好きです。

于 2014-03-06T15:21:19.700 に答える