优化图片和显示问题

This commit is contained in:
24kycj
2026-09-22 17:39:48 +08:00
parent 0f26163ad7
commit 381a48b5c5
12 changed files with 54 additions and 13 deletions
+6 -6
View File
@@ -742,18 +742,18 @@ function soonDesign2LockBgObject(bgObj) {
});
}
/** 打开旧文件:去掉残留模板层,用户背景独占 canvas[0] 并贴齐卡框 */
/** 打开旧文件:把 canvas[0] 的用户背景图贴齐卡框并锁定。
* 设计前提:保存 .soon 时 canvas[0] == 用户背景图(set_bg 已把它放到 0 位)。
* 之前的实现会 fabricCanvas.remove(all[0]) 并把 all[1](前景)当成新 userBg,导致重打开后
* 用户背景图丢失、前景元素被错误地缩放并锁定到卡框大小。本版本不再删除 all[0],
* 改为直接把已有的 all[0] 当成用户背景图处理。 */
function soonDesign2NormalizeUserBg(fabricCanvas, metaList) {
if (!soonDesign2IsUserBgMeta(metaList) || !fabricCanvas) return null;
var all = fabricCanvas.getObjects().filter(function (o) { return !o.isGuideLine; });
if (!all.length) return null;
var frame = soonDesign2FrameOrigin(fabricCanvas);
var userBg = all[0];
if (all.length > 1) {
fabricCanvas.remove(all[0]);
userBg = fabricCanvas.getObjects().filter(function (o) { return !o.isGuideLine; })[0];
}
if (!userBg) return null;
var frame = soonDesign2FrameOrigin(fabricCanvas);
soonDesign2SnapImageToCardFrame(userBg, fabricCanvas, frame);
soonDesign2ApplyUserBgAsCanvas0(userBg, fabricCanvas, null);
soonDesign2LockBgObject(userBg);