合并画布
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
import { BrushStore } from "../store/BrushStore";
|
||||
import { BrushManager } from "./brushes/brushManager";
|
||||
import { ToolCommand } from "../commands/ToolCommands";
|
||||
import { CreateTextCommand } from "../commands/TextCommands";
|
||||
import { OperationType } from "../utils/layerHelper";
|
||||
import CanvasConfig from "../config/canvasConfig";
|
||||
import { fabric } from "fabric-with-all";
|
||||
import { InitLiquifyToolCommand } from "../commands/LiquifyCommands";
|
||||
import { RasterizeLayerCommand } from "../commands/GroupCommands";
|
||||
import { RasterizeLayerCommand } from "../commands/RasterizeLayerCommand";
|
||||
import { message, Modal } from "ant-design-vue";
|
||||
import { h } from "vue";
|
||||
|
||||
@@ -958,9 +959,33 @@ export class ToolManager {
|
||||
* @param {Number} y 文本位置y坐标
|
||||
* @param {Object} options 文本选项
|
||||
*/
|
||||
createText(x, y, options = {}) {
|
||||
async createText(x, y, options = {}) {
|
||||
// 使用命令模式创建文本
|
||||
if (!this.canvas || !this.layerManager) return null;
|
||||
if (this.commandManager) {
|
||||
const command = new CreateTextCommand({
|
||||
canvas: this.canvas,
|
||||
layerManager: this.layerManager,
|
||||
x,
|
||||
y,
|
||||
textOptions: options,
|
||||
});
|
||||
// 执行命令
|
||||
return await this.commandManager.execute(command);
|
||||
} else {
|
||||
// 如果没有命令管理器,直接调用原有方法(兼容性)
|
||||
return await this._createTextDirect(x, y, options);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 直接创建文本的方法(用于向后兼容)
|
||||
* @param {Number} x 文本位置x坐标
|
||||
* @param {Number} y 文本位置y坐标
|
||||
* @param {Object} options 文本选项
|
||||
* @private
|
||||
*/
|
||||
_createTextDirect(x, y, options = {}) {
|
||||
// 默认文本属性
|
||||
const defaultOptions = {
|
||||
text: "双击编辑文本",
|
||||
@@ -992,7 +1017,6 @@ export class ToolManager {
|
||||
|
||||
// 创建文本图层并通过LayerManager添加到画布
|
||||
this.layerManager.createTextLayerWithObject(textObj, textOptions);
|
||||
this.canvas.renderAll();
|
||||
|
||||
return textObj;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user