dlh
e46f2ec027
fix(canvas): 图片节点 - 尺寸跟随图片真实比例,竖图不再两侧留黑
上传接口返回的 width/height 是可选字段(services/api/resources.ts),拿不到时节点落到
默认的横向比例,竖图被放进一个宽盒子、两侧留大片空白。改为在图片解码后于客户端量真实
尺寸并按比例校正节点 —— 这样不依赖服务端是否返回尺寸。
判据是「用户有没有手动定过尺寸」,**不是**「有没有量过尺寸」。第一版按后者写,结果所有
已经存过 naturalWidth 的既有节点永远得不到修正,改完等于没改。现在由 handleNodeResize
在手动拉伸时打 metadata.manualSize 标记,自动适配只避让它和 freeResize(自由比例是用户
显式要求脱离原始比例,自动校正会跟他打架)。
顺带收益:naturalWidth / naturalHeight 补齐后,canvas-node.tsx 的锁比例拉伸也会按真实
比例走 —— 它本来就在读这两个字段,之前多数节点拿不到。
已知影响:既有节点因为没有 manualSize 标记,首次重新加载时会自动校正一次尺寸。
对被 letterbox 的图是修复,但确实会让画布上现有图片节点的尺寸变动一次。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-22 12:33:10 +08:00
..
2026-08-18 20:27:26 +08:00
2026-08-22 12:29:24 +08:00
2026-08-10 00:13:02 +08:00
2026-08-22 02:30:26 +08:00
2026-08-15 12:45:29 +08:00
2026-08-20 19:46:18 +08:00
2026-08-04 21:20:53 +08:00
2026-08-22 02:30:26 +08:00
2026-08-20 13:46:21 +08:00
2026-08-14 23:44:55 +08:00
2026-08-03 21:38:38 +08:00
2026-08-03 21:38:38 +08:00
2026-08-03 22:16:25 +08:00
2026-08-22 09:52:09 +08:00
2026-08-22 12:33:10 +08:00
2026-08-22 12:29:24 +08:00
2026-08-22 12:29:24 +08:00
2026-07-22 14:29:10 +08:00
2026-08-03 21:38:38 +08:00
2026-08-03 14:58:49 +08:00
2026-08-03 20:11:13 +08:00
2026-08-03 21:38:04 +08:00
2026-08-14 18:35:43 +08:00
2026-08-03 21:38:38 +08:00
2026-08-06 08:32:38 +08:00
2026-08-22 11:35:23 +08:00
2026-08-20 16:50:50 +08:00
2026-08-20 16:33:51 +08:00
2026-08-14 23:44:55 +08:00
2026-08-14 23:44:55 +08:00
2026-08-22 12:33:10 +08:00
2026-08-20 19:46:18 +08:00
2026-08-04 20:46:25 +08:00
2026-08-22 12:33:10 +08:00
2026-08-03 21:38:38 +08:00
2026-07-22 14:29:10 +08:00
2026-08-22 12:33:10 +08:00
2026-08-06 08:51:29 +08:00
2026-08-04 21:20:53 +08:00
2026-08-22 12:29:24 +08:00
2026-08-22 12:29:24 +08:00
2026-08-14 20:20:37 +08:00
2026-08-22 10:01:41 +08:00
2026-08-20 22:22:28 +08:00
2026-07-22 14:29:10 +08:00
2026-08-14 23:44:55 +08:00
2026-07-22 14:29:10 +08:00
2026-08-22 10:01:41 +08:00
2026-08-03 21:38:38 +08:00
2026-08-06 16:36:51 +08:00
2026-08-22 02:30:26 +08:00
2026-08-20 14:33:16 +08:00
2026-08-14 12:01:21 +08:00
2026-08-17 13:16:13 +08:00
2026-08-22 09:52:09 +08:00
2026-08-19 07:16:07 +08:00
2026-08-14 18:35:43 +08:00
2026-07-22 14:29:10 +08:00
2026-08-07 11:46:23 +08:00
2026-08-08 18:28:28 +08:00
2026-08-08 18:28:28 +08:00
2026-08-08 18:28:28 +08:00
2026-08-03 21:38:38 +08:00
2026-08-14 18:35:43 +08:00
2026-08-08 18:28:28 +08:00
2026-08-08 18:28:28 +08:00
2026-08-22 12:29:24 +08:00
2026-08-07 19:27:44 +08:00
2026-08-06 15:34:45 +08:00
2026-08-03 21:38:38 +08:00
2026-08-18 20:42:25 +08:00
2026-08-16 22:35:20 +08:00
2026-08-15 15:48:16 +08:00
2026-08-05 13:51:52 +08:00
2026-08-20 18:49:01 +08:00
2026-08-07 11:46:23 +08:00
2026-08-07 11:46:23 +08:00