3d添加印花 等

This commit is contained in:
X1627315083
2025-04-16 10:43:54 +08:00
parent fd2e47e783
commit c2288a30b2
51 changed files with 5588 additions and 359 deletions

View File

@@ -233,7 +233,6 @@ class MyCanvas {
async canvasInit (dom, val,img,editGroupImg,data,exportWidth = -1){//初始化
// let {erasable} = data
// this.canvasClear()
console.log(exportWidth)
this.exportData.width = exportWidth
this.canvasWH={
width:val.width,
@@ -1033,28 +1032,28 @@ class MyCanvas {
cloned._objects = cloned._objects.filter(item => item.type == 'image')
}
if(this.exportData.width != -1){
if (cloned.type !== 'image') {
if (cloned.type !== 'image' || cloned.type !== 'group') {
cloned.set({
left: scaleXY?.scale?cloned.left * scaleXY?.scale:cloned.left - xy.x,
top: scaleXY?.scale?cloned.top * scaleXY?.scale:cloned.top - xy.y,
scaleX: cloned.scaleX * scaleXY?.scale?scaleXY?.scale:1,
scaleY: cloned.scaleY * scaleXY?.scale?scaleXY?.scale:1
scaleX: cloned.scaleX * (scaleXY?.scale?scaleXY?.scale:1),
scaleY: cloned.scaleY * (scaleXY?.scale?scaleXY?.scale:1)
});
} else {
// 对图片对象单独处理:重新计算图片的缩放
cloned.set({
left: scaleXY?.scale?cloned.left * scaleXY?.scale:cloned.left - xy.x,
top: scaleXY?.scale?cloned.top * scaleXY?.scale:cloned.top - xy.y,
scaleX: cloned.scaleX * scaleXY?.scale?scaleXY?.scale:1, // 根据原有 scaleX 进行缩放
scaleY: cloned.scaleY * scaleXY?.scale?scaleXY?.scale:1 // 根据原有 scaleY 进行缩放
scaleX: cloned.scaleX * (scaleXY?.scale?scaleXY?.scale:1), // 根据原有 scaleX 进行缩放
scaleY: cloned.scaleY * (scaleXY?.scale?scaleXY?.scale:1) // 根据原有 scaleY 进行缩放
});
// 确保图片的尺寸缩放是基于原始宽高和当前缩放
var originalWidth = cloned.width * cloned.scaleX; // 原始宽度 * 当前缩放
var originalHeight = cloned.height * cloned.scaleY; // 原始高度 * 当前缩放
cloned.set({
width: originalWidth * scaleXY?.scale?scaleXY?.scale:1, // 调整后的宽度
height: originalHeight * scaleXY?.scale?scaleXY?.scale:1 // 调整后的高度
width: originalWidth * (scaleXY?.scale?scaleXY?.scale:1), // 调整后的宽度
height: originalHeight * (scaleXY?.scale?scaleXY?.scale:1) // 调整后的高度
});
}
}else{
@@ -1063,7 +1062,6 @@ class MyCanvas {
top: (cloned.top - xy.y),
})
}
if(cloned.custom?.layerId != -1){
temporar.add(cloned)
}
@@ -1218,7 +1216,6 @@ class MyCanvas {
this.setPencilWidth()
}
async addImage (imgData){
console.log(imgData)
if(!imgData.imgUrl)imgData.imgUrl = imgData.url
let img = await this.createImage(imgData)
let position = {
@@ -1234,7 +1231,6 @@ class MyCanvas {
// minioUrl:getMinioUrl(imgData.url)
},
})
console.log(this.exportData.width)
if(this.exportData.width != -1)await this.createLayer({})
// if(this.dashed.isDetail)await this.createLayer({})
this.setCanvasImage(img,position,"upImgFiles",imgData)
@@ -1245,7 +1241,8 @@ class MyCanvas {
img.set({
hasControls: true,
})
img.minioUrl=getMinioUrl(imgData.imgUrl || imgData.minioUrl)
let url = imgData.imgUrl || imgData.minioUrl
img.minioUrl=getMinioUrl(url)
resolve(img)
},{ crossOrigin: "Anonymous" })
})
@@ -2044,7 +2041,6 @@ class MyCanvas {
// MyCanvas?.[this.id].add(img)
// }
}else{
console.log(v,'add')
MyCanvas?.[this.id].add(v)
}
if(index == elements.length - 1){
@@ -2218,12 +2214,15 @@ class MyCanvas {
texture:0,
}
this.operation = 'movePosition'
this.clearEvent()
delete MyCanvas[this.id]
// MyCanvas[this.id] = null
}
clearEvent(){
document.removeEventListener("keydown", this.canvasKeyDown);
document.removeEventListener("keyup", this.canvasKeyUp);
document.removeEventListener('mousemove', this.mouseMove);
document.removeEventListener('touchmove', this.touchmove);
delete MyCanvas[this.id]
// MyCanvas[this.id] = null
}
//删除选中元素
deleteObject(){
@@ -2292,7 +2291,6 @@ class MyCanvas {
resolve()
})
})
this._clipboard = copyObj;
}
paste(){//粘贴