From 5d00693991e702c1fce966df44b94594a2bc89f2 Mon Sep 17 00:00:00 2001 From: Default User Date: Wed, 4 Mar 2026 14:51:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=89=8B=E6=9C=BA=E7=AD=BE?= =?UTF-8?q?=E5=90=8D=E6=97=B6=E5=9D=90=E6=A0=87=E5=81=8F=E7=A7=BB=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E7=A1=AE=E4=BF=9D=E7=94=BB=E5=B8=83?= =?UTF-8?q?=E5=B0=BA=E5=AF=B8=E4=B8=8E=E6=98=BE=E7=A4=BA=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- certificate.html | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/certificate.html b/certificate.html index 79c20e8..4448aaf 100644 --- a/certificate.html +++ b/certificate.html @@ -774,6 +774,9 @@ // 初始化主画布 canvas = document.getElementById('signatureCanvas'); if (canvas) { + // 确保画布的实际尺寸与显示尺寸一致 + resizeCanvas(canvas); + ctx = canvas.getContext('2d'); ctx.strokeStyle = '#000'; ctx.lineWidth = 2; @@ -786,6 +789,12 @@ // 初始化弹窗画布 initModalSignatureCanvas(); + + // 监听窗口大小变化,重新调整画布尺寸 + window.addEventListener('resize', function() { + if (canvas) resizeCanvas(canvas); + if (modalCanvas) resizeCanvas(modalCanvas); + }); } // 初始化弹窗签名画布 @@ -793,6 +802,9 @@ modalCanvas = document.getElementById('signatureModalCanvas'); if (!modalCanvas) return; + // 确保画布的实际尺寸与显示尺寸一致 + resizeCanvas(modalCanvas); + modalCtx = modalCanvas.getContext('2d'); modalCtx.strokeStyle = '#000'; modalCtx.lineWidth = 3; // 弹窗中使用更粗的线条 @@ -814,15 +826,25 @@ modalCanvas.addEventListener('touchend', stopModalDrawing); } + // 调整画布尺寸,确保实际尺寸与显示尺寸一致 + function resizeCanvas(canvas) { + const rect = canvas.getBoundingClientRect(); + canvas.width = rect.width; + canvas.height = rect.height; + } + // 打开签名弹窗 function openSignatureModal() { const modal = document.getElementById('signatureModal'); if (modal) { modal.classList.add('show'); - // 清除弹窗画布 - clearModalSignature(); - // 添加点击外部区域关闭弹窗的事件 + // 等待弹窗完全显示后调整画布尺寸 setTimeout(() => { + if (modalCanvas) { + resizeCanvas(modalCanvas); + clearModalSignature(); + } + // 添加点击外部区域关闭弹窗的事件 modal.addEventListener('click', handleModalClick); }, 100); }