深度画布-平铺设置

This commit is contained in:
lzp
2026-03-16 16:51:12 +08:00
parent 1667d8d3a9
commit dc5d932b11
15 changed files with 539 additions and 59 deletions

View File

@@ -15,6 +15,7 @@ export class LayerManager {
this.layers = ref([])
this.activeID = ref("")
}
onMounted() { }
setActiveID(id: string, isActive = true) {
this.activeID.value = id
if (isActive) {
@@ -89,7 +90,7 @@ export class LayerManager {
}
}
/** 创建空图层 */
createEmptyLayer(isUpdate = true) {
createEmptyLayer(isRecord = true) {
const emptyObject = new fabric.Rect({
width: 0,
height: 0,
@@ -100,7 +101,7 @@ export class LayerManager {
}
})
this.setLayerPosition(emptyObject)
this.canvasManager.add(emptyObject, isUpdate)
this.canvasManager.add(emptyObject, isRecord)
return emptyObject
}
/** 创建文本图层 */
@@ -155,7 +156,7 @@ export class LayerManager {
return circleObject
}
/** 创建图片图层 */
async createImageLayer(imgOrUrl: string | HTMLImageElement, options?: any) {
async createImageLayer(imgOrUrl: string | HTMLImageElement, options?: any, isRecord = true) {
const canvasWidth = this.canvasManager.canvasWidth
const canvasHeight = this.canvasManager.canvasHeight
@@ -181,13 +182,11 @@ export class LayerManager {
})
}) as fabric.Object
this.setLayerPosition(imageObject, options)
await this.canvasManager.add(imageObject)
await this.canvasManager.add(imageObject, isRecord)
this.setActiveID(imageObject.info.id)
return imageObject
}
/** 合并图层 */
async imageMergeToLayer(targetLayer: fabric.Object, fabricImage: fabric.Object) {
const info = await exportObjectsToImage([targetLayer, fabricImage], true)