深度画布 矩形工具

This commit is contained in:
lzp
2026-03-12 15:51:18 +08:00
parent 86f1efbf43
commit d115047563
9 changed files with 378 additions and 213 deletions

View File

@@ -70,7 +70,6 @@ export class CanvasManager {
this.setupCanvasEvents()
this.setupBrushEvents()
this.stateManager.toolManager.setTool(OperationType.SELECT)
// 创建矩形
const rect = this.layerManager.createRectLayer({
left: 400,
@@ -86,6 +85,7 @@ export class CanvasManager {
this.layerManager.updateLayers()
this.layerManager.setActiveID(text.info.id)
this.stateManager.recordState()
// this.stateManager.toolManager.setTool(OperationType.RECTANGLE)
}
/** 画布添加对象 */
add(obj: any, isUpdate = true) {
@@ -95,6 +95,14 @@ export class CanvasManager {
this.renderAll()
}
}
/** 画布移除对象 */
remove(obj: any, isUpdate = true) {
this.canvas.remove(obj)
if (isUpdate) {
this.layerManager.updateLayers()
this.renderAll()
}
}
/** 设置画布事件 */
setupCanvasEvents() {
@@ -112,6 +120,7 @@ export class CanvasManager {
/** 设置激活对象 */
setActiveObjectByID(id: string) {
const obj = this.getObjectById(id)
console.log(obj)
if (obj) this.canvas.setActiveObject(obj)
this.renderAll()
}
@@ -122,7 +131,7 @@ export class CanvasManager {
return this.canvas.getObjects() || []
}
getObjectById(id: string) {
return this.getObjects().find((item: any) => item.info.id === id)
return this.getObjects().find((item: any) => item?.info?.id === id)
}
renderAll() {
this.canvas.renderAll()