深度画布

This commit is contained in:
lzp
2026-03-30 10:56:26 +08:00
parent b7d8f9fed0
commit d6c8de770a
3 changed files with 14 additions and 7 deletions

View File

@@ -183,11 +183,8 @@
if (!activeLayerId.value) return
layerManager.deleteLayerById(activeLayerId.value)
}
const onWorkbench = async () => {
exportCanvasToImage(canvasManager.canvas).then((url) => {
const { canvas, images } = canvasManager.getCanvasDisUrlJSON()
emit('workbench', { url, canvas, images })
})
const onWorkbench = () => {
emit('workbench')
}
</script>

View File

@@ -8,7 +8,7 @@
<details-panel />
<brush-control-panel :currentTool="toolManager.currentTool.value" />
<ai-selectbox-panel :currentTool="toolManager.currentTool.value" />
<depth-header-tools @export="exportCanvas" @workbench="(v) => emit('workbench', v)" />
<depth-header-tools @export="exportCanvas" @workbench="onWorkbench" />
<zoom
:zoom="canvasManager.currentZoom.value / 100"
@@ -52,6 +52,12 @@
default: () => ({})
}
})
const onWorkbench = async () => {
exportCanvasToImage(canvasManager.canvas).then((url) => {
const { canvas, images } = canvasManager.getCanvasDisUrlJSON()
emit('workbench', { url, canvas, images })
})
}
// 准备就绪
const isReady = ref(false)
@@ -78,7 +84,7 @@
provide('toolManager', toolManager)
//键盘事件管理器
const keyEventManager = new KeyEventManager({ stateManager })
const keyEventManager = new KeyEventManager({ stateManager, onWorkbench })
stateManager.setManager({ keyEventManager })
provide('keyEventManager', keyEventManager)

View File

@@ -1,7 +1,9 @@
export class KeyEventManager {
stateManager: any
onWorkbench: any
constructor(options) {
this.stateManager = options.stateManager;
this.onWorkbench = options.onWorkbench;
this._handleKeyDown = this.handleKeyDown.bind(this)
}
onMounted() { }
@@ -9,6 +11,7 @@ export class KeyEventManager {
/** 处理键盘事件 */
_handleKeyDown: any
handleKeyDown(event: any) {
event.preventDefault()
const activeID = this.stateManager.layerManager.activeID.value
const ctrl = event.ctrlKey ? 'ctrl-' : "";
const shift = event.shiftKey ? 'shift-' : "";
@@ -18,6 +21,7 @@ export class KeyEventManager {
{ key: "ctrl-c", handler: () => this.stateManager.layerManager.copyLayerById(activeID) },
{ key: "delete", handler: () => this.stateManager.layerManager.deleteLayerById(activeID) },
{ key: "ctrl-z", handler: () => this.stateManager.undoState() },
{ key: "ctrl-s", handler: () => this.onWorkbench() },
{ key: "ctrl-shift-z", handler: () => this.stateManager.redoState() },
]
list.forEach((v: any) => {