fix:优化导出图片清晰度

This commit is contained in:
Zhukj
2026-04-20 17:33:04 +08:00
parent 16f3e28c46
commit c718a44503

View File

@@ -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');