This commit is contained in:
李志鹏
2026-04-13 11:52:24 +08:00
parent c6b1bdbdf1
commit 4352f7c2f4
4 changed files with 2099 additions and 2085 deletions

View File

@@ -1058,7 +1058,10 @@
} = {}) => { } = {}) => {
loading.value = true loading.value = true
canvasManager?.canvas?.discardActiveObject() canvasManager?.canvas?.discardActiveObject()
if (isFrontBackUpdata) await canvasManager?.changeCanvas() if (isFrontBackUpdata) {
await canvasManager?.setSpecialCliptInfo(true, true)
canvasManager.canvas.renderAll()
}
var base64 = await canvasManager.exportImage({ var base64 = await canvasManager.exportImage({
isContainBg, isContainBg,
isContainFixed, isContainFixed,

View File

@@ -623,17 +623,7 @@ backgroundObject.scaleY,'CanvasManager resetCanvasSizeByFixedLayer')
this.updateMaskPosition(backgroundObject); this.updateMaskPosition(backgroundObject);
} }
// 更新颜色层信息 this.setSpecialCliptInfo(false, true)
// const colorObject = this.getLayerObjectById(SpecialLayerId.COLOR);
// if(colorObject){
// await this.setObjecCliptInfo(colorObject);
// }
const groupLayer = this.layerManager.getLayerById(SpecialLayerId.SPECIAL_GROUP);
if(groupLayer){
const groupRect = new fabric.Rect({});
await this.setObjecCliptInfo(groupRect);
groupLayer.clippingMask = groupRect.toObject();
}
// 重新渲染画布 // 重新渲染画布
this.canvas.renderAll(); this.canvas.renderAll();
@@ -1556,6 +1546,26 @@ backgroundObject.scaleY,'CanvasManager resetCanvasSizeByFixedLayer')
this.awaitCanvasRun = null; this.awaitCanvasRun = null;
} }
//设置印花元素颜色的裁剪信息
async setSpecialCliptInfo(isColor = true, isGroup = true) {
// 更新颜色层信息
if (isColor) {
const colorObject = this.getLayerObjectById(SpecialLayerId.COLOR);
if (colorObject) {
await this.setObjecCliptInfo(colorObject);
}
}
// 更新特殊组图层信息
if (isGroup) {
const groupLayer = this.layerManager.getLayerById(SpecialLayerId.SPECIAL_GROUP);
if (groupLayer) {
const groupRect = new fabric.Rect({});
await this.setObjecCliptInfo(groupRect);
groupLayer.clippingMask = groupRect.toObject();
}
}
}
// 设置画布对象的裁剪信息 // 设置画布对象的裁剪信息
async setObjecCliptInfo(tagObject, data) { async setObjecCliptInfo(tagObject, data) {
const fixedLayerObj = this.getFixedLayerObject(); const fixedLayerObj = this.getFixedLayerObject();

View File

@@ -608,7 +608,7 @@ export class ExportManager {
// tempFabricCanvas.setZoom(1); // tempFabricCanvas.setZoom(1);
const ox = fixedLayerObject.left - fixedLayerObject.width * fixedLayerObject.scaleX / 2 const ox = fixedLayerObject.left - fixedLayerObject.width * fixedLayerObject.scaleX / 2
const oy = fixedLayerObject.top - fixedLayerObject.height * fixedLayerObject.scaleY / 2 const oy = fixedLayerObject.top - fixedLayerObject.height * fixedLayerObject.scaleY / 2
console.log("==========", fixedLayerObject, ox, oy) // console.log("==========", fixedLayerObject, ox, oy)
try { try {
// 克隆并添加所有对象到临时画布,需要调整位置相对于固定图层 // 克隆并添加所有对象到临时画布,需要调整位置相对于固定图层
for (let i = 0; i < objectsToExport.length; i++) { for (let i = 0; i < objectsToExport.length; i++) {

View File

@@ -247,6 +247,7 @@ export default defineComponent({
let front = detailData.frontBack.front[detailData.imgDomIndex] let front = detailData.frontBack.front[detailData.imgDomIndex]
let back = detailData.frontBack.back[detailData.imgDomIndex] let back = detailData.frontBack.back[detailData.imgDomIndex]
store.commit('DesignDetail/updataDetailItem',{maskUrl:value}) store.commit('DesignDetail/updataDetailItem',{maskUrl:value})
await nextTick()
if(!detailData.selectDetail.partialDesign.partialDesignPath && !detailData.selectDetail.partialDesign.partialDesignBase64){ if(!detailData.selectDetail.partialDesign.partialDesignPath && !detailData.selectDetail.partialDesign.partialDesignBase64){
await privewDetail() await privewDetail()
}else{ }else{