From da7560b918c4eb698235db7ab88bd27b55f59cd9 Mon Sep 17 00:00:00 2001 From: Victor_Jay Date: Sun, 31 May 2026 02:43:58 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=AE=A2=E6=88=B7=E7=AB=AF=E8=A3=81?= =?UTF-8?q?=E5=89=AA=E7=9B=B4=E6=8E=A5=E7=BC=A9=E6=94=BE=E5=88=B0=20512?= =?UTF-8?q?=C3=97512=20=E5=86=8D=E4=B8=8A=E4=BC=A0=EF=BC=8C=E8=BF=9B?= =?UTF-8?q?=E4=B8=80=E6=AD=A5=E8=8A=82=E7=9C=81=E5=B8=A6=E5=AE=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - cropOnClient 输出尺寸从 min(size, 2048) 改为固定 512px - 服务端收到的已是 512×512,解码后 resize 和 WebP 编码近乎瞬时 - 上传体积从数十 KB~数 MB 降至 ~30-60KB --- templates/MetaLab-2026/html/settings/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/MetaLab-2026/html/settings/index.html b/templates/MetaLab-2026/html/settings/index.html index b22b480..5913a61 100644 --- a/templates/MetaLab-2026/html/settings/index.html +++ b/templates/MetaLab-2026/html/settings/index.html @@ -537,14 +537,14 @@ if (e.target === cropOverlay) closeCrop(); }); - // 客户端裁剪 + 压缩:用 Canvas 裁出选区,转 JPEG 后上传,大幅节省带宽 + // 客户端裁剪 + 压缩:Canvas 裁出选区并一步到位缩放到 512px,上传体积最小 function cropOnClient(file, x, y, size) { return new Promise(function (resolve) { var url = URL.createObjectURL(file); var img = new Image(); img.onload = function () { URL.revokeObjectURL(url); - var out = Math.min(size, 2048); // 不超过 2048px,避免 Canvas 内存过大 + var out = 512; // 直接缩放到服务端目标输出尺寸 var canvas = document.createElement('canvas'); canvas.width = out; canvas.height = out;