diff --git a/js/script.js b/js/script.js index f017c74..46a651e 100644 --- a/js/script.js +++ b/js/script.js @@ -1790,8 +1790,16 @@ const canvas = await generateCanvas(); console.log('预览画布尺寸:', canvas.width, 'x', canvas.height); + // 在 toBlob 之前再次确认 canvas 尺寸 + console.log('预览 toBlob 前 canvas 尺寸:', canvas.width, 'x', canvas.height); + // 使用 toBlob 获取更高质量的图片 - const blob = await new Promise(resolve => canvas.toBlob(resolve, 'image/png', 1.0)); + const blob = await new Promise(resolve => { + canvas.toBlob((b) => { + console.log('预览 toBlob 回调 - blob 尺寸:', b.size, 'bytes'); + resolve(b); + }, 'image/png', 1.0); + }); console.log('预览图片大小:', (blob.size / 1024).toFixed(2), 'KB'); const dataUrl = URL.createObjectURL(blob); showPreviewModal(dataUrl, blob); @@ -2273,7 +2281,7 @@ try { const canvas = await generateCanvas(); - await showMobileSaveTip(); + await showMobileSaveTip(canvas); } catch (err) { console.error('保存失败:', err); alert('保存失败,请重试'); @@ -2281,12 +2289,19 @@ } // 显示移动端保存选项 - async function showMobileSaveTip() { - const canvas = exportCanvas; + async function showMobileSaveTip(canvas) { console.log('导出画布尺寸:', canvas.width, 'x', canvas.height); + // 在 toBlob 之前再次确认 canvas 尺寸 + console.log('toBlob 前 canvas 尺寸:', canvas.width, 'x', canvas.height); + // 使用 toBlob 获取更高质量的图片 - const blob = await new Promise(resolve => canvas.toBlob(resolve, 'image/png', 1.0)); + const blob = await new Promise(resolve => { + canvas.toBlob((b) => { + console.log('toBlob 回调 - blob 尺寸:', b.size, 'bytes'); + resolve(b); + }, 'image/png', 1.0); + }); console.log('导出图片大小:', (blob.size / 1024).toFixed(2), 'KB'); const dataUrl = URL.createObjectURL(blob); const filename = '邀请函_' + Date.now() + '.png';