深度画布联调

This commit is contained in:
lzp
2026-03-17 10:53:43 +08:00
parent 8267f13491
commit 9aa9c8193c
7 changed files with 80 additions and 47 deletions

View File

@@ -15,13 +15,13 @@
<span class="icon"><svg-icon name="export" size="12" /></span>
<span class="text">Export</span>
</button>
<button class="export" @click="emit('export-local')">
<!-- <button class="export" @click="emit('export-local')">
<span class="text">保存本地</span>
</button>
<button class="export" @click="emit('import-local')">
<span class="text">本地导入</span>
</button>
<button class="workbench" @click="emit('export-close')">
</button> -->
<button class="workbench" @click="onWorkbench">
<span class="icon"><svg-icon name="dc-workbench" size="20" /></span>
<span class="text">Workbench</span>
</button>
@@ -30,16 +30,18 @@
<script setup lang="ts">
import { ref, inject, computed } from 'vue'
import { exportCanvasToImage } from '../tools/exportMethod'
import { OperationType } from '../tools/layerHelper'
const props = defineProps({
zoom: { default: 1, type: Number },
step: { default: 0.1, type: Number }
})
const emit = defineEmits(['export', 'export-local', 'import-local', 'export-close'])
const emit = defineEmits(['export', 'export-local', 'import-local', 'export-close', 'workbench'])
const importLocalImage = inject('importLocalImage') as (isRecord?: boolean) => void
const stateManager = inject('stateManager') as any
const toolManager = inject('toolManager') as any
const objectManager = inject('objectManager') as any
const canvasManager = inject('canvasManager') as any
const tool = computed(() => toolManager.currentTool.value)
const historyIndex = computed(() => stateManager.historyIndex.value)
const historyList = computed(() => stateManager.historyList.value)
@@ -87,6 +89,11 @@
const layer = await importLocalImage(false)
objectManager.setFillRepeat(layer?.info?.id)
}
const onWorkbench = async () => {
exportCanvasToImage(canvasManager.canvas).then((url) => {
emit('workbench', { url })
})
}
</script>
<style lang="less" scoped>