This commit is contained in:
wxd
2024-10-14 19:50:11 +08:00
parent 00e5393ec6
commit 49fc1eb24c
2 changed files with 35 additions and 26 deletions

View File

@@ -568,7 +568,7 @@ export default defineComponent({
height: exportWH * ratio[1],
isDrawingMode: false, // 开启绘图模式
});
canvas.backgroundImage.clone((back)=>{
canvas.backgroundImage.clone(async (back)=>{
back.set({
scaleX:1,
scaleY:1,
@@ -576,35 +576,43 @@ export default defineComponent({
top:back.top*scale ,
})
exportCanvas.backgroundImage = back
allObjects.forEach((item,index)=>{
// let obj = fabric.util.object.clone(item);
if(item.type == 'circle')return
let obj
item.clone((cloned)=>{
console.log(cloned);
obj = cloned
console.log(obj);
if(obj.set){
obj.set(
{
scaleX:(item.scaleX?item.scaleX:1)*scale,
scaleY:(item.scaleY?item.scaleY:1)*scale,
left:item.left*scale,
top:item.top*scale,
}
)
}else{
obj.width = (item.width?item.width:1)*scale
obj.height = (item.height?item.height:1)*scale
obj.left = item.left*scale
obj.top = item.top*scale
await new Promise((resolve, reject) => {
allObjects.forEach((item,index)=>{
// let obj = fabric.util.object.clone(item);
if(item.type == 'circle')return
let obj
item.clone((cloned)=>{
console.log(cloned);
obj = cloned
console.log(obj.set);
if(obj.set){
obj.set(
{
scaleX:(item.scaleX?item.scaleX:1)*scale,
scaleY:(item.scaleY?item.scaleY:1)*scale,
left:item.left*scale,
top:item.top*scale,
}
)
}
// else{
// console.log(item.width,scale);
// obj.width = (item.width?item.width:1)*scale
// obj.height = (item.height?item.height:1)*scale
// obj.left = item.left*scale
// obj.top = item.top*scale
}
// }
exportCanvas.add(obj)
if(index == allObjects.length - 1){
resolve('')
}
})
exportCanvas.add(obj)
})
})
let position = JSON.parse(JSON.stringify(canvas.viewportTransform))
position[4] *= scale
position[5] *= scale