优化日志

This commit is contained in:
2026-03-28 19:21:47 +08:00
parent feb3fad4da
commit b19c19d73c
2 changed files with 6 additions and 30 deletions
+5 -17
View File
@@ -50,21 +50,16 @@ namespace Ink_Canvas.Helpers
_modernProcessor = new ModernInkProcessor(); _modernProcessor = new ModernInkProcessor();
_modernAnalyzer = new ModernInkAnalyzer(); _modernAnalyzer = new ModernInkAnalyzer();
_isModernSystemAvailable = true; _isModernSystemAvailable = true;
LogHelper.WriteLogToFile(
$"墨迹识别管理器:使用现代化墨迹识别系统 (WinRT) - 进程64位: {Environment.Is64BitProcess}, OS64位: {Environment.Is64BitOperatingSystem}");
} }
catch (Exception ex) catch (Exception ex)
{ {
LogHelper.WriteLogToFile("WinRT API不可用,回退到IACore: " + ex.Message, LogHelper.LogType.Warning); LogHelper.WriteLogToFile("WinRT 墨迹初始化失败: " + ex.Message, LogHelper.LogType.Warning);
_isModernSystemAvailable = false; _isModernSystemAvailable = false;
_modernProcessor = null; _modernProcessor = null;
_modernAnalyzer = null; _modernAnalyzer = null;
} }
} }
if (!_isModernSystemAvailable)
LogHelper.WriteLogToFile("墨迹识别管理器:使用IACore墨迹识别系统");
_isInitialized = true; _isInitialized = true;
} }
catch (Exception ex) catch (Exception ex)
@@ -86,7 +81,7 @@ namespace Ink_Canvas.Helpers
if (ShapeRecognitionRouter.ResolveUseWinRt(mode) if (ShapeRecognitionRouter.ResolveUseWinRt(mode)
&& WinRtInkShapeRecognizer.IsApiAvailable) && WinRtInkShapeRecognizer.IsApiAvailable)
{ {
return RunWinRtOrLogAsync(strokes); return RecognizeShapeWinRtOnDispatcherContext(strokes);
} }
var legacy = InkRecognizeHelper.RecognizeShapeIACore(strokes); var legacy = InkRecognizeHelper.RecognizeShapeIACore(strokes);
@@ -99,17 +94,10 @@ namespace Ink_Canvas.Helpers
} }
} }
private static async Task<InkShapeRecognitionResult> RunWinRtOrLogAsync(StrokeCollection strokes) private static async Task<InkShapeRecognitionResult> RecognizeShapeWinRtOnDispatcherContext(
StrokeCollection strokes)
{ {
try return await WinRtInkShapeRecognizer.RecognizeShapeAsync(strokes).ConfigureAwait(true);
{
return await WinRtInkShapeRecognizer.RecognizeShapeAsync(strokes).ConfigureAwait(true);
}
catch (Exception ex)
{
LogHelper.WriteLogToFile("WinRT 墨迹形状识别异常: " + ex, LogHelper.LogType.Error);
return InkShapeRecognitionResult.Empty;
}
} }
public Task<StrokeCollection> CorrectInkAsync( public Task<StrokeCollection> CorrectInkAsync(
+1 -13
View File
@@ -67,27 +67,16 @@ namespace Ink_Canvas.Helpers
} }
if (added == 0) if (added == 0)
{
LogHelper.WriteLogToFile(
"WinRT 形状识别:未能从 WPF 笔迹生成 InkStroke(检查 StylusPoints/DrawingAttributes)。",
LogHelper.LogType.Warning);
return InkShapeRecognitionResult.Empty; return InkShapeRecognitionResult.Empty;
}
await analyzer.AnalyzeAsync().AsTask().ConfigureAwait(true); await analyzer.AnalyzeAsync().AsTask().ConfigureAwait(true);
var drawing = FindPrimaryDrawing(analyzer); var drawing = FindPrimaryDrawing(analyzer);
if (drawing == null) if (drawing == null)
{
LogHelper.WriteLogToFile("WinRT 形状识别:分析完成但未找到 InkAnalysisInkDrawing 节点。", LogHelper.LogType.Trace);
return InkShapeRecognitionResult.Empty; return InkShapeRecognitionResult.Empty;
}
if (drawing.DrawingKind == global::Windows.UI.Input.Inking.Analysis.InkAnalysisDrawingKind.Drawing) if (drawing.DrawingKind == global::Windows.UI.Input.Inking.Analysis.InkAnalysisDrawingKind.Drawing)
{
LogHelper.WriteLogToFile("WinRT 形状识别:结果为 Drawing(未识别为规则形状)。", LogHelper.LogType.Trace);
return InkShapeRecognitionResult.Empty; return InkShapeRecognitionResult.Empty;
}
var name = MapDrawingKindToShapeName(drawing.DrawingKind); var name = MapDrawingKindToShapeName(drawing.DrawingKind);
if (string.IsNullOrEmpty(name) || name == "Drawing") if (string.IsNullOrEmpty(name) || name == "Drawing")
@@ -105,9 +94,8 @@ namespace Ink_Canvas.Helpers
return new InkShapeRecognitionResult(name, centroid, hot, w, h, toRemove); return new InkShapeRecognitionResult(name, centroid, hot, w, h, toRemove);
} }
catch (Exception ex) catch (Exception)
{ {
LogHelper.WriteLogToFile("WinRtInkShapeRecognizer 异常: " + ex, LogHelper.LogType.Error);
return InkShapeRecognitionResult.Empty; return InkShapeRecognitionResult.Empty;
} }
} }