From 49944c9d038f6abc03df31d5d8890f9b567483b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=BF=9B?= Date: Mon, 27 Jul 2026 16:47:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20SVG=20=E5=9B=BE=E6=A0=87=E8=A6=86?= =?UTF-8?q?=E7=9B=96=E7=9A=84=E6=96=87=E5=AD=97=E8=87=AA=E5=8A=A8=E7=A7=BB?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit imageRects 现在包含 RECTANGLE+backgroundImages 的节点(SVG 图标), 覆盖检测正确识别图标与文字的重叠。 --- convert-w2p.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/convert-w2p.js b/convert-w2p.js index 3a0d4ff..fd4cf78 100644 --- a/convert-w2p.js +++ b/convert-w2p.js @@ -631,8 +631,8 @@ async function convert(input) { }); // ===== 同坐标完全重叠去重:保留后者(高层),仅同类型 ===== - // 额外:IMAGE 节点覆盖的 TEXT 节点也去掉(图片替代文字) - var imageRects = sg.children.filter(c => c.type === 'IMAGE' && c.rect).map(c => ({ + // 额外:IMAGE/RECTANGLE(有背景图) 节点覆盖的 TEXT 节点也去掉 + var imageRects = sg.children.filter(c => (c.type === 'IMAGE' || (c.type === 'RECTANGLE' && c.backgroundImages?.length > 0)) && c.rect).map(c => ({ x: Math.round(c.rect.x), y: Math.round(c.rect.y), w: Math.round(c.rect.w), h: Math.round(c.rect.h), z: parseInt(c.styles?.zIndex) || 0