fix:优化导出图片清晰度
This commit is contained in:
19
js/script.js
19
js/script.js
@@ -1781,7 +1781,12 @@
|
|||||||
// 显示预览
|
// 显示预览
|
||||||
async function showPreview() {
|
async function showPreview() {
|
||||||
const canvas = await generateCanvas();
|
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');
|
const tipOverlay = document.createElement('div');
|
||||||
tipOverlay.id = 'previewTip';
|
tipOverlay.id = 'previewTip';
|
||||||
@@ -1969,6 +1974,7 @@
|
|||||||
// 设置画布为固定高清分辨率
|
// 设置画布为固定高清分辨率
|
||||||
canvas.width = TARGET_WIDTH;
|
canvas.width = TARGET_WIDTH;
|
||||||
canvas.height = TARGET_HEIGHT;
|
canvas.height = TARGET_HEIGHT;
|
||||||
|
console.log('设置画布尺寸:', canvas.width, 'x', canvas.height);
|
||||||
|
|
||||||
// 启用最高质量渲染
|
// 启用最高质量渲染
|
||||||
ctx.imageSmoothingEnabled = true;
|
ctx.imageSmoothingEnabled = true;
|
||||||
@@ -2224,7 +2230,7 @@
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const canvas = await generateCanvas();
|
const canvas = await generateCanvas();
|
||||||
showMobileSaveTip();
|
await showMobileSaveTip();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('保存失败:', err);
|
console.error('保存失败:', err);
|
||||||
alert('保存失败,请重试');
|
alert('保存失败,请重试');
|
||||||
@@ -2232,9 +2238,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 显示移动端保存选项
|
// 显示移动端保存选项
|
||||||
function showMobileSaveTip() {
|
async function showMobileSaveTip() {
|
||||||
const canvas = exportCanvas;
|
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 filename = '邀请函_' + Date.now() + '.png';
|
||||||
|
|
||||||
const tipOverlay = document.createElement('div');
|
const tipOverlay = document.createElement('div');
|
||||||
|
|||||||
Reference in New Issue
Block a user