長方形と円で構成される視覚化用に持っている HTML5 キャンバス要素の高解像度スクリーンショットを撮ろうとしています。生成される画像が元のcanvas.toDataURL()
キャンバスのサイズに制限されることを除いて、うまく機能します。私が本当にやりたいのは、元のキャンバスの 4 倍または 5 倍のスクリーンショットを撮ることです。
ただし、私の戦略は、次のような一時的なキャンバスを画面外に作成することです。
function renderScreenshot(canvas, scaleFactor) {
var ctx = canvas.getContext('2d');
var screenshotCanvas = document.createElement('canvas');
var screenshotCtx = screenshotCanvas.getContext('2d');
screenshotCanvas.width = canvas.width * scaleFactor;
screenshotCanvas.height = canvas.height * scaleFactor;
screenshotCtx.drawImage(canvas, 0, 0, canvas.width * scaleFactor, canvas.height * scaleFactor);
return screenshotCanvas.toDataURL();
}
現在の問題は、スケーリングされた画像がぼやけてピクセル化されており、何の役にも立たないことです。これを回避する方法は何ですか?