fix:优化导出图片清晰度
This commit is contained in:
25
js/script.js
25
js/script.js
@@ -1790,8 +1790,16 @@
|
|||||||
const canvas = await generateCanvas();
|
const canvas = await generateCanvas();
|
||||||
console.log('预览画布尺寸:', canvas.width, 'x', canvas.height);
|
console.log('预览画布尺寸:', canvas.width, 'x', canvas.height);
|
||||||
|
|
||||||
|
// 在 toBlob 之前再次确认 canvas 尺寸
|
||||||
|
console.log('预览 toBlob 前 canvas 尺寸:', canvas.width, 'x', canvas.height);
|
||||||
|
|
||||||
// 使用 toBlob 获取更高质量的图片
|
// 使用 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');
|
console.log('预览图片大小:', (blob.size / 1024).toFixed(2), 'KB');
|
||||||
const dataUrl = URL.createObjectURL(blob);
|
const dataUrl = URL.createObjectURL(blob);
|
||||||
showPreviewModal(dataUrl, blob);
|
showPreviewModal(dataUrl, blob);
|
||||||
@@ -2273,7 +2281,7 @@
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const canvas = await generateCanvas();
|
const canvas = await generateCanvas();
|
||||||
await showMobileSaveTip();
|
await showMobileSaveTip(canvas);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('保存失败:', err);
|
console.error('保存失败:', err);
|
||||||
alert('保存失败,请重试');
|
alert('保存失败,请重试');
|
||||||
@@ -2281,12 +2289,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 显示移动端保存选项
|
// 显示移动端保存选项
|
||||||
async function showMobileSaveTip() {
|
async function showMobileSaveTip(canvas) {
|
||||||
const canvas = exportCanvas;
|
|
||||||
console.log('导出画布尺寸:', canvas.width, 'x', canvas.height);
|
console.log('导出画布尺寸:', canvas.width, 'x', canvas.height);
|
||||||
|
|
||||||
|
// 在 toBlob 之前再次确认 canvas 尺寸
|
||||||
|
console.log('toBlob 前 canvas 尺寸:', canvas.width, 'x', canvas.height);
|
||||||
|
|
||||||
// 使用 toBlob 获取更高质量的图片
|
// 使用 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');
|
console.log('导出图片大小:', (blob.size / 1024).toFixed(2), 'KB');
|
||||||
const dataUrl = URL.createObjectURL(blob);
|
const dataUrl = URL.createObjectURL(blob);
|
||||||
const filename = '邀请函_' + Date.now() + '.png';
|
const filename = '邀请函_' + Date.now() + '.png';
|
||||||
|
|||||||
Reference in New Issue
Block a user