画布液化功能优化(图片清晰度、添加指示器)

This commit is contained in:
李志鹏
2025-09-26 15:12:57 +08:00
parent c3d7cbcc83
commit 844d5c0972
7 changed files with 1511 additions and 1339 deletions

View File

@@ -1,4 +1,5 @@
import { fabric } from "fabric-with-all";
import { OperationType } from "../utils/layerHelper";
/**
* 笔刷指示器
@@ -94,6 +95,7 @@ export class BrushIndicator {
* @private
*/
_syncCanvasProperties() {
console.log("==========","笔刷同步大小")
if (!this.staticCanvas || !this.canvas) return;
// 检查是否为笔刷或橡皮擦模式,非相关模式直接返回
@@ -103,10 +105,8 @@ export class BrushIndicator {
this.canvas.isDrawingMode &&
this.canvas.freeDrawingBrush &&
this.canvas.freeDrawingBrush.type === "eraser";
if (!isBrushMode && !isEraserMode) {
return;
}
const isLiquifyMode = this.canvas.toolId === OperationType.LIQUIFY;// 检查是否在液化模式
if ([isBrushMode,isEraserMode,isLiquifyMode].every(v => !v)) return;
let hasChanges = false;
@@ -471,8 +471,12 @@ export class BrushIndicator {
* @returns {Boolean} 是否显示
*/
_shouldShowIndicator() {
// 检查画布是否在绘图模式
if (!this.canvas.isDrawingMode) return false;
const isDrawingMode = this.canvas.isDrawingMode;// 检查画布是否在绘图模式
const isLiquifyMode = this.canvas.toolId === OperationType.LIQUIFY;// 检查是否在液化模式
// console.log(`笔刷指示器\n绘图模式:${isDrawingMode}\n液化模式:${isLiquifyMode}`)
// 检查画布是否在绘图模式OR液化模式
if ([isDrawingMode, isLiquifyMode].every(v => !v)) return false;
// 检查是否有笔刷
if (!this.canvas.freeDrawingBrush) return false;