2016-03-23 81 views
0

html2canvasを使用しています。私はdivをキャプチャして.pngファイルとして保存しようとしています。pngとして保存div - html2canvas - ぼやけた品質

(単なる例でwindow.openを使用すると、それを簡単にするために - 同じ品質の問題を)

対象のdiv内の画像の画像鮮明度/品質はかなり悪いですが。私は画質/シャープネスをどう改善するかについてはあまりよく分かりません。助言がありますか ?

saveAsPNG機能:

saveAsPNG = function(id) { 
var target = document.getElementById(id); 

    html2canvas(target, { 
    onrendered: function(canvas) { 
     var data = canvas.toDataURL("image/png", 1); 
     window.open(data);  
    } 
    }); 
}; 
+0

まず、 'image/png'は' toDataURL'のデフォルト値であるため、無用です。 'encoderOptions'(2番目のパラメータ)は' image/jpeg'と 'image/webp'にのみ使われます。それは問題を解決しませんが、コードを "修正"します。 –

+0

私はこの行を 'toDataURL'で' document.body.appendChild(canvas); 'の前に追加しました。キャンバスレンダリングもぼやけています。だから、html2canvasから来て、その中に品質を改善するオプションはありません。 –

+0

また、私はこの答えを見つけました:http://stackoverflow.com/a/31726736/5119765 –

答えて

0

html2canvasは "実際" のスクリーンショットを何を取っていないんが、表現を作ります。そこで、ページ上で利用可能な情報に基づいてスクリーンショットを構築します。

おそらく、ぼやけた画像を撮影しないようにすることができます。

https://github.com/ivoviz/feedback

これは、ページの特定の部分にスクリーンショットを取ることができますhtml2canvasに基づいてjQueryプラグインです。それは試してみてください:)

+0

ありがとう、私はそれをチェックアウト:)! –

関連する問題