优化日志

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