fix:优化导出图片清晰度

This commit is contained in:
Zhukj
2026-04-20 18:24:04 +08:00
parent 5ded968665
commit 1ab1465144

View File

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