From c718a4450376452c9fe6219744ad4eddd7b7b041 Mon Sep 17 00:00:00 2001 From: Zhukj <3262118957> Date: Mon, 20 Apr 2026 17:33:04 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BC=98=E5=8C=96=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=9B=BE=E7=89=87=E6=B8=85=E6=99=B0=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/script.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/js/script.js b/js/script.js index 9b49dbf..f3c8ce0 100644 --- a/js/script.js +++ b/js/script.js @@ -1781,7 +1781,12 @@ // 显示预览 async function showPreview() { const canvas = await generateCanvas(); - const dataUrl = canvas.toDataURL('image/png'); + console.log('预览画布尺寸:', canvas.width, 'x', canvas.height); + + // 使用 toBlob 获取更高质量的图片 + const blob = await new Promise(resolve => canvas.toBlob(resolve, 'image/png', 1.0)); + console.log('预览图片大小:', (blob.size / 1024).toFixed(2), 'KB'); + const dataUrl = URL.createObjectURL(blob); const tipOverlay = document.createElement('div'); tipOverlay.id = 'previewTip'; @@ -1969,6 +1974,7 @@ // 设置画布为固定高清分辨率 canvas.width = TARGET_WIDTH; canvas.height = TARGET_HEIGHT; + console.log('设置画布尺寸:', canvas.width, 'x', canvas.height); // 启用最高质量渲染 ctx.imageSmoothingEnabled = true; @@ -2224,7 +2230,7 @@ try { const canvas = await generateCanvas(); - showMobileSaveTip(); + await showMobileSaveTip(); } catch (err) { console.error('保存失败:', err); alert('保存失败,请重试'); @@ -2232,9 +2238,14 @@ } // 显示移动端保存选项 - function showMobileSaveTip() { + async function showMobileSaveTip() { const canvas = exportCanvas; - const dataUrl = canvas.toDataURL('image/png'); + console.log('导出画布尺寸:', canvas.width, 'x', canvas.height); + + // 使用 toBlob 获取更高质量的图片 + const blob = await new Promise(resolve => canvas.toBlob(resolve, 'image/png', 1.0)); + console.log('导出图片大小:', (blob.size / 1024).toFixed(2), 'KB'); + const dataUrl = URL.createObjectURL(blob); const filename = '邀请函_' + Date.now() + '.png'; const tipOverlay = document.createElement('div');