From 4126e0b24da499668de779c14bcd0ea854148a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com> Date: Mon, 19 Jan 2026 11:07:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=83=E7=B4=A0=E9=BB=98=E8=AE=A4=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Canvas/CanvasEditor/managers/CanvasManager.js | 10 ++++++---- src/component/Detail/canvas/index.vue | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js index 49042262..f68fb393 100644 --- a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js +++ b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js @@ -1458,7 +1458,7 @@ export class CanvasManager { const printTrimsLayers = [];// 印花和元素图层 const singleLayers = [];// 平铺图层 - otherData_.printObject?.prints?.forEach((print, index) => { + otherData_.printObject?.prints?.forEach((print, index) => {// 印花 print.name = t("Canvas.Print") + (index + 1); if(print.ifSingle){ printTrimsLayers.unshift({...print}); @@ -1466,7 +1466,7 @@ export class CanvasManager { singleLayers.unshift({...print}); } }) - otherData_.trims?.prints?.forEach((trims, index) => { + otherData_.trims?.prints?.forEach((trims, index) => {// 元素 trims.name = t("Canvas.Elements") + (index + 1); printTrimsLayers.unshift({...trims}); }) @@ -1575,6 +1575,8 @@ export class CanvasManager { let item = printTrimsLayers[index]; let id = generateId("layer_image_"); let name = item.name; + let blendMode = BlendMode.MULTIPLY; + if(item.level2Type === "Embroidery") blendMode = BlendMode.NORMAL;// 元素正常 let image = await new Promise(resolve => { fabric.Image.fromURL(item.path, (fabricImage)=>{ const left = flLeft - flWidth * flScaleX / 2 + (item.location?.[0] || 0) * flScaleX @@ -1603,7 +1605,7 @@ export class CanvasManager { hasControls: true, hasBorders: true, isPrintTrims: true, - globalCompositeOperation: BlendMode.MULTIPLY, + globalCompositeOperation: blendMode, }); resolve(fabricImage); }, { crossOrigin: "anonymous" }); @@ -1617,7 +1619,7 @@ export class CanvasManager { locked: false, opacity: 1.0, isPrintTrims: true, - blendMode: BlendMode.MULTIPLY, + blendMode: blendMode, fabricObjects: [image.toObject(["id", "layerId", "layerName"])], metadata: {sourceData: item}, }) diff --git a/src/component/Detail/canvas/index.vue b/src/component/Detail/canvas/index.vue index abcbcaef..50eb0223 100644 --- a/src/component/Detail/canvas/index.vue +++ b/src/component/Detail/canvas/index.vue @@ -6,10 +6,10 @@