代码清理

This commit is contained in:
PrefacedCorg
2025-08-31 11:43:52 +08:00
parent a2b711da05
commit ff086e497c
62 changed files with 826 additions and 825 deletions
+5 -5
View File
@@ -1,3 +1,8 @@
using Hardcodet.Wpf.TaskbarNotification;
using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern.Controls;
using Microsoft.Win32;
using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
@@ -13,11 +18,6 @@ using System.Windows;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Threading; using System.Windows.Threading;
using Hardcodet.Wpf.TaskbarNotification;
using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern.Controls;
using Microsoft.Win32;
using Newtonsoft.Json;
using Application = System.Windows.Application; using Application = System.Windows.Application;
using MessageBox = System.Windows.MessageBox; using MessageBox = System.Windows.MessageBox;
using Timer = System.Threading.Timer; using Timer = System.Threading.Timer;
+7 -7
View File
@@ -1,3 +1,5 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
@@ -15,8 +17,6 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Ink_Canvas.Helpers namespace Ink_Canvas.Helpers
{ {
@@ -1365,7 +1365,7 @@ namespace Ink_Canvas.Helpers
// 启动更新任务 // 启动更新任务
Task.Run(async () => await PerformUpdate(oldProcessId, extractPath, targetPath, isSilence)); Task.Run(async () => await PerformUpdate(oldProcessId, extractPath, targetPath, isSilence));
return true; // 返回true表示是更新模式 return true; // 返回true表示是更新模式
} }
LogHelper.WriteLogToFile($"AutoUpdate | 参数验证失败 - 老进程ID: {oldProcessId}, 解压路径: {extractPath}, 目标路径: {targetPath}", LogHelper.LogType.Error); LogHelper.WriteLogToFile($"AutoUpdate | 参数验证失败 - 老进程ID: {oldProcessId}, 解压路径: {extractPath}, 目标路径: {targetPath}", LogHelper.LogType.Error);
return false; return false;
@@ -1445,9 +1445,9 @@ namespace Ink_Canvas.Helpers
if (copySuccess) if (copySuccess)
{ {
LogHelper.WriteLogToFile("AutoUpdate | 文件复制完成"); LogHelper.WriteLogToFile("AutoUpdate | 文件复制完成");
} }
else else
{ {
LogHelper.WriteLogToFile("AutoUpdate | 文件复制失败,部分文件可能无法覆盖", LogHelper.LogType.Error); LogHelper.WriteLogToFile("AutoUpdate | 文件复制失败,部分文件可能无法覆盖", LogHelper.LogType.Error);
if (!isSilence) if (!isSilence)
@@ -1503,7 +1503,7 @@ namespace Ink_Canvas.Helpers
LogHelper.WriteLogToFile("AutoUpdate | 更新操作完成"); LogHelper.WriteLogToFile("AutoUpdate | 更新操作完成");
// 启动更新后的应用程序 // 启动更新后的应用程序
string newAppPath = Path.Combine(targetPath, "InkCanvasForClass.exe"); string newAppPath = Path.Combine(targetPath, "InkCanvasForClass.exe");
if (File.Exists(newAppPath)) if (File.Exists(newAppPath))
{ {
+13 -13
View File
@@ -1,3 +1,4 @@
using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@@ -5,7 +6,6 @@ using System.Linq;
using System.Reflection; using System.Reflection;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text; using System.Text;
using Newtonsoft.Json;
namespace Ink_Canvas.Helpers namespace Ink_Canvas.Helpers
{ {
@@ -758,21 +758,21 @@ namespace Ink_Canvas.Helpers
// 如果所有文件都不存在或损坏,返回新的统计对象 // 如果所有文件都不存在或损坏,返回新的统计对象
var newStats = new UsageStats var newStats = new UsageStats
{ {
DeviceId = DeviceId, DeviceId = DeviceId,
LastLaunchTime = DateTime.Now, LastLaunchTime = DateTime.Now,
LaunchCount = 0, LaunchCount = 0,
TotalUsageSeconds = 0, TotalUsageSeconds = 0,
AverageSessionSeconds = 0, AverageSessionSeconds = 0,
LastUpdateCheck = DateTime.MinValue, LastUpdateCheck = DateTime.MinValue,
UpdatePriority = UpdatePriority.Medium, UpdatePriority = UpdatePriority.Medium,
UsageFrequency = UsageFrequency.Medium UsageFrequency = UsageFrequency.Medium
}; };
// 保存新统计到文件 // 保存新统计到文件
SaveUsageStatsToFile(UsageStatsFilePath, newStats); SaveUsageStatsToFile(UsageStatsFilePath, newStats);
return newStats; return newStats;
} }
catch (Exception ex) catch (Exception ex)
{ {
+2 -2
View File
@@ -1,11 +1,11 @@
using Newtonsoft.Json;
using NHotkey.Wpf;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
using System.Windows.Input; using System.Windows.Input;
using Newtonsoft.Json;
using NHotkey.Wpf;
namespace Ink_Canvas.Helpers namespace Ink_Canvas.Helpers
{ {
+6 -6
View File
@@ -319,12 +319,12 @@ namespace Ink_Canvas.Helpers
path.StrokeEndLineCap = PenLineCap.Flat; path.StrokeEndLineCap = PenLineCap.Flat;
path.StrokeLineJoin = PenLineJoin.Miter; path.StrokeLineJoin = PenLineJoin.Miter;
// 高亮笔通常需要更宽的笔触来覆盖下面的内容 // 高亮笔通常需要更宽的笔触来覆盖下面的内容
if (drawingAttribs.Width < 20) if (drawingAttribs.Width < 20)
{ {
path.StrokeThickness = Math.Max(drawingAttribs.Width * 1.5, 20); path.StrokeThickness = Math.Max(drawingAttribs.Width * 1.5, 20);
} }
} }
// 不设置任何变换,保持墨迹原有粗细 // 不设置任何变换,保持墨迹原有粗细
var bounds = geometry.Bounds; var bounds = geometry.Bounds;
+2 -2
View File
@@ -1,9 +1,9 @@
using System; using Microsoft.Office.Interop.PowerPoint;
using System;
using System.IO; using System.IO;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text; using System.Text;
using System.Windows.Ink; using System.Windows.Ink;
using Microsoft.Office.Interop.PowerPoint;
namespace Ink_Canvas.Helpers namespace Ink_Canvas.Helpers
{ {
+2 -2
View File
@@ -1,4 +1,5 @@
using System; using Microsoft.Office.Interop.PowerPoint;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
@@ -7,7 +8,6 @@ using System.Text;
using System.Threading; using System.Threading;
using System.Timers; using System.Timers;
using System.Windows.Threading; using System.Windows.Threading;
using Microsoft.Office.Interop.PowerPoint;
using Application = System.Windows.Application; using Application = System.Windows.Application;
using Timer = System.Timers.Timer; using Timer = System.Timers.Timer;
@@ -1,9 +1,9 @@
using iNKORE.UI.WPF.Modern.Controls;
using System; using System;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using iNKORE.UI.WPF.Modern.Controls;
namespace Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher namespace Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher
{ {
@@ -1,3 +1,5 @@
using Microsoft.Win32;
using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
@@ -8,8 +10,6 @@ using System.Windows;
using System.Windows.Interop; using System.Windows.Interop;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Microsoft.Win32;
using Newtonsoft.Json;
namespace Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher namespace Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher
{ {
@@ -1,10 +1,10 @@
using Ink_Canvas.Windows;
using Microsoft.Win32;
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.IO; using System.IO;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using Ink_Canvas.Windows;
using Microsoft.Win32;
namespace Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher namespace Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher
{ {
@@ -1,3 +1,5 @@
using Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher;
using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
@@ -5,8 +7,6 @@ using System.IO;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Media; using System.Windows.Media;
using Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher;
using Newtonsoft.Json;
namespace Ink_Canvas.Helpers.Plugins.BuiltIn namespace Ink_Canvas.Helpers.Plugins.BuiltIn
{ {
@@ -1,8 +1,8 @@
using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Threading.Tasks; using System.Threading.Tasks;
using Newtonsoft.Json;
namespace Ink_Canvas.Helpers.Plugins namespace Ink_Canvas.Helpers.Plugins
{ {
+2 -2
View File
@@ -1,3 +1,5 @@
using Ink_Canvas.Windows;
using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
@@ -8,8 +10,6 @@ using System.Security.Cryptography;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using Ink_Canvas.Windows;
using Newtonsoft.Json;
using Timer = System.Timers.Timer; using Timer = System.Timers.Timer;
namespace Ink_Canvas.Helpers.Plugins namespace Ink_Canvas.Helpers.Plugins
+2 -2
View File
@@ -1,8 +1,8 @@
using System; using Microsoft.Win32;
using System;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Microsoft.Win32;
namespace Ink_Canvas.Helpers namespace Ink_Canvas.Helpers
{ {
+6 -6
View File
@@ -1,3 +1,9 @@
using Ink_Canvas.Helpers;
using Ink_Canvas.Helpers.Plugins;
using Ink_Canvas.Windows;
using iNKORE.UI.WPF.Modern;
using iNKORE.UI.WPF.Modern.Controls;
using Microsoft.Win32;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
@@ -16,12 +22,6 @@ using System.Windows.Input;
using System.Windows.Interop; using System.Windows.Interop;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Threading; using System.Windows.Threading;
using Ink_Canvas.Helpers;
using Ink_Canvas.Helpers.Plugins;
using Ink_Canvas.Windows;
using iNKORE.UI.WPF.Modern;
using iNKORE.UI.WPF.Modern.Controls;
using Microsoft.Win32;
using Application = System.Windows.Application; using Application = System.Windows.Application;
using Brushes = System.Windows.Media.Brushes; using Brushes = System.Windows.Media.Brushes;
using Button = System.Windows.Controls.Button; using Button = System.Windows.Controls.Button;
+3 -3
View File
@@ -1,4 +1,6 @@
using System; using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern;
using System;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
@@ -6,8 +8,6 @@ using System.Windows.Controls;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Animation; using System.Windows.Media.Animation;
using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern;
namespace Ink_Canvas namespace Ink_Canvas
{ {
+2 -2
View File
@@ -1,6 +1,6 @@
using System; using IWshRuntimeLibrary;
using System;
using System.Windows; using System.Windows;
using IWshRuntimeLibrary;
using Application = System.Windows.Forms.Application; using Application = System.Windows.Forms.Application;
using File = System.IO.File; using File = System.IO.File;
+3 -3
View File
@@ -1,8 +1,8 @@
using System; using iNKORE.UI.WPF.Modern;
using Microsoft.Win32;
using System;
using System.Windows; using System.Windows;
using System.Windows.Media; using System.Windows.Media;
using iNKORE.UI.WPF.Modern;
using Microsoft.Win32;
using Application = System.Windows.Application; using Application = System.Windows.Application;
namespace Ink_Canvas namespace Ink_Canvas
+2 -2
View File
@@ -1,4 +1,5 @@
using System; using Ink_Canvas.Helpers;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -6,7 +7,6 @@ using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Ink; using System.Windows.Ink;
using System.Windows.Media; using System.Windows.Media;
using Ink_Canvas.Helpers;
namespace Ink_Canvas namespace Ink_Canvas
{ {
+2 -2
View File
@@ -1,4 +1,5 @@
using System; using Ink_Canvas.Helpers;
using System;
using System.Diagnostics; using System.Diagnostics;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
@@ -6,7 +7,6 @@ using System.Windows.Ink;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Ink_Canvas.Helpers;
namespace Ink_Canvas namespace Ink_Canvas
{ {
@@ -1,4 +1,5 @@
using System; using Ink_Canvas.Helpers;
using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
@@ -9,7 +10,6 @@ using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Threading; using System.Windows.Threading;
using Ink_Canvas.Helpers;
using Clipboard = System.Windows.Clipboard; using Clipboard = System.Windows.Clipboard;
using ContextMenu = System.Windows.Controls.ContextMenu; using ContextMenu = System.Windows.Controls.ContextMenu;
using Cursors = System.Windows.Input.Cursors; using Cursors = System.Windows.Input.Cursors;
+2 -2
View File
@@ -1,4 +1,5 @@
using System; using Ink_Canvas.Helpers;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
@@ -8,7 +9,6 @@ using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Animation; using System.Windows.Media.Animation;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Ink_Canvas.Helpers;
namespace Ink_Canvas namespace Ink_Canvas
{ {
+17 -17
View File
@@ -1,4 +1,6 @@
using System; using Ink_Canvas.Helpers;
using Microsoft.Win32;
using System;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@@ -10,8 +12,6 @@ using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Threading; using System.Windows.Threading;
using Ink_Canvas.Helpers;
using Microsoft.Win32;
namespace Ink_Canvas namespace Ink_Canvas
{ {
@@ -1229,23 +1229,23 @@ namespace Ink_Canvas
try try
{ {
if (currentSelectedElement != null) if (currentSelectedElement != null)
{
var elementCenter = new Point(currentSelectedElement.ActualWidth / 2, currentSelectedElement.ActualHeight / 2);
ApplyScaleTransform(currentSelectedElement, 1.1, elementCenter);
// 更新工具栏位置
if (currentSelectedElement is Image && BorderImageSelectionControl?.Visibility == Visibility.Visible)
{ {
UpdateImageSelectionToolbarPosition(currentSelectedElement); var elementCenter = new Point(currentSelectedElement.ActualWidth / 2, currentSelectedElement.ActualHeight / 2);
} ApplyScaleTransform(currentSelectedElement, 1.1, elementCenter);
LogHelper.WriteLogToFile("图片缩放增大完成"); // 更新工具栏位置
if (currentSelectedElement is Image && BorderImageSelectionControl?.Visibility == Visibility.Visible)
{
UpdateImageSelectionToolbarPosition(currentSelectedElement);
}
LogHelper.WriteLogToFile("图片缩放增大完成");
}
}
catch (Exception ex)
{
LogHelper.WriteLogToFile($"图片缩放增大失败: {ex.Message}", LogHelper.LogType.Error);
} }
}
catch (Exception ex)
{
LogHelper.WriteLogToFile($"图片缩放增大失败: {ex.Message}", LogHelper.LogType.Error);
}
} }
// 图片删除 // 图片删除
+2 -2
View File
@@ -1,4 +1,5 @@
using System; using Ink_Canvas.Helpers;
using System;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Windows; using System.Windows;
@@ -6,7 +7,6 @@ using System.Windows.Controls;
using System.Windows.Ink; using System.Windows.Ink;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using Ink_Canvas.Helpers;
namespace Ink_Canvas namespace Ink_Canvas
{ {
@@ -1,3 +1,5 @@
using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern;
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.Threading; using System.Threading;
@@ -11,8 +13,6 @@ using System.Windows.Interop;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Animation; using System.Windows.Media.Animation;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern;
using Application = System.Windows.Application; using Application = System.Windows.Application;
using Button = System.Windows.Controls.Button; using Button = System.Windows.Controls.Button;
using Cursors = System.Windows.Input.Cursors; using Cursors = System.Windows.Input.Cursors;
@@ -893,7 +893,8 @@ namespace Ink_Canvas
HideSubPanels(); HideSubPanels();
BtnSettings_Click(null, null); BtnSettings_Click(null, null);
} }
private async void SymbolIconScreenshot_MouseUp(object sender, MouseButtonEventArgs e) { private async void SymbolIconScreenshot_MouseUp(object sender, MouseButtonEventArgs e)
{
HideSubPanelsImmediately(); HideSubPanelsImmediately();
await Task.Delay(50); await Task.Delay(50);
SaveScreenShotToDesktop(); SaveScreenShotToDesktop();
@@ -2044,7 +2045,7 @@ namespace Ink_Canvas
private void QuickColorOrange_Click(object sender, RoutedEventArgs e) private void QuickColorOrange_Click(object sender, RoutedEventArgs e)
{ {
SetQuickColor(Color.FromRgb(251, 150, 80)); // 橙色 SetQuickColor(Color.FromRgb(251, 150, 80)); // 橙色
} }
private void QuickColorYellow_Click(object sender, RoutedEventArgs e) private void QuickColorYellow_Click(object sender, RoutedEventArgs e)
@@ -2067,7 +2068,7 @@ namespace Ink_Canvas
SetQuickColor(Colors.Red); SetQuickColor(Colors.Red);
} }
private void QuickColorGreen_Click(object sender, RoutedEventArgs e) private void QuickColorGreen_Click(object sender, RoutedEventArgs e)
{ {
SetQuickColor(Color.FromRgb(22, 163, 74)); SetQuickColor(Color.FromRgb(22, 163, 74));
} }
+1 -1
View File
@@ -1,3 +1,4 @@
using Ink_Canvas.Helpers;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing; using System.Drawing;
@@ -11,7 +12,6 @@ using System.Windows.Forms;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Threading; using System.Windows.Threading;
using Ink_Canvas.Helpers;
using Application = System.Windows.Application; using Application = System.Windows.Application;
using Color = System.Drawing.Color; using Color = System.Drawing.Color;
using Cursors = System.Windows.Input.Cursors; using Cursors = System.Windows.Input.Cursors;
+2 -2
View File
@@ -1,8 +1,8 @@
using System; using Ink_Canvas.Helpers;
using System;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using System.Windows; using System.Windows;
using Ink_Canvas.Helpers;
namespace Ink_Canvas namespace Ink_Canvas
{ {
+5 -5
View File
@@ -1,4 +1,8 @@
using System; using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern;
using Microsoft.Office.Core;
using Microsoft.Office.Interop.PowerPoint;
using System;
using System.IO; using System.IO;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Security.Cryptography; using System.Security.Cryptography;
@@ -8,10 +12,6 @@ using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Threading; using System.Windows.Threading;
using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern;
using Microsoft.Office.Core;
using Microsoft.Office.Interop.PowerPoint;
using Application = System.Windows.Application; using Application = System.Windows.Application;
using File = System.IO.File; using File = System.IO.File;
using MessageBox = System.Windows.MessageBox; using MessageBox = System.Windows.MessageBox;
+2 -2
View File
@@ -1,10 +1,10 @@
using System.Collections.ObjectModel; using Ink_Canvas.Helpers;
using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Ink; using System.Windows.Ink;
using System.Windows.Input; using System.Windows.Input;
using Ink_Canvas.Helpers;
namespace Ink_Canvas namespace Ink_Canvas
{ {
@@ -1,3 +1,5 @@
using Ink_Canvas.Helpers;
using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing; using System.Drawing;
@@ -12,8 +14,6 @@ using System.Windows.Ink;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Ink_Canvas.Helpers;
using Newtonsoft.Json;
using Color = System.Drawing.Color; using Color = System.Drawing.Color;
using File = System.IO.File; using File = System.IO.File;
using Image = System.Windows.Controls.Image; using Image = System.Windows.Controls.Image;
@@ -1,3 +1,4 @@
using iNKORE.UI.WPF.Modern.Controls;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -6,7 +7,6 @@ using System.Windows.Controls;
using System.Windows.Ink; using System.Windows.Ink;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using iNKORE.UI.WPF.Modern.Controls;
using Point = System.Windows.Point; using Point = System.Windows.Point;
namespace Ink_Canvas namespace Ink_Canvas
+5 -5
View File
@@ -1,3 +1,7 @@
using Hardcodet.Wpf.TaskbarNotification;
using Ink_Canvas.Helpers;
using Newtonsoft.Json;
using OSVersionExtension;
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
@@ -10,10 +14,6 @@ using System.Windows.Interop;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Threading; using System.Windows.Threading;
using Hardcodet.Wpf.TaskbarNotification;
using Ink_Canvas.Helpers;
using Newtonsoft.Json;
using OSVersionExtension;
using Application = System.Windows.Application; using Application = System.Windows.Application;
using CheckBox = System.Windows.Controls.CheckBox; using CheckBox = System.Windows.Controls.CheckBox;
using ComboBox = System.Windows.Controls.ComboBox; using ComboBox = System.Windows.Controls.ComboBox;
@@ -2598,7 +2598,7 @@ namespace Ink_Canvas
if (Fold_Icon != null) if (Fold_Icon != null)
Fold_Icon.Visibility = Settings.Appearance.IsShowHideButton ? Visibility.Visible : Visibility.Collapsed; Fold_Icon.Visibility = Settings.Appearance.IsShowHideButton ? Visibility.Visible : Visibility.Collapsed;
// 快捷调色盘 // 快捷调色盘
if (QuickColorPalettePanel != null && QuickColorPaletteSingleRowPanel != null) if (QuickColorPalettePanel != null && QuickColorPaletteSingleRowPanel != null)
{ {
bool shouldShow = Settings.Appearance.IsShowQuickColorPalette && inkCanvas.EditingMode == InkCanvasEditingMode.Ink; bool shouldShow = Settings.Appearance.IsShowQuickColorPalette && inkCanvas.EditingMode == InkCanvasEditingMode.Ink;
@@ -1,4 +1,8 @@
using System; using Hardcodet.Wpf.TaskbarNotification;
using Ink_Canvas.Helpers;
using Newtonsoft.Json;
using OSVersionExtension;
using System;
using System.Reflection; using System.Reflection;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
@@ -6,10 +10,6 @@ using System.Windows.Ink;
using System.Windows.Interop; using System.Windows.Interop;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Hardcodet.Wpf.TaskbarNotification;
using Ink_Canvas.Helpers;
using Newtonsoft.Json;
using OSVersionExtension;
using File = System.IO.File; using File = System.IO.File;
using OperatingSystem = OSVersionExtension.OperatingSystem; using OperatingSystem = OSVersionExtension.OperatingSystem;
+3 -3
View File
@@ -1,4 +1,6 @@
using System; using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern.Controls;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -8,8 +10,6 @@ using System.Windows.Ink;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Animation; using System.Windows.Media.Animation;
using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern.Controls;
using MessageBox = System.Windows.MessageBox; using MessageBox = System.Windows.MessageBox;
using Point = System.Windows.Point; using Point = System.Windows.Point;
@@ -1,4 +1,5 @@
using System; using Ink_Canvas.Helpers;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
@@ -8,7 +9,6 @@ using System.Windows.Controls;
using System.Windows.Ink; using System.Windows.Ink;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using Ink_Canvas.Helpers;
using Point = System.Windows.Point; using Point = System.Windows.Point;
namespace Ink_Canvas namespace Ink_Canvas
+2 -2
View File
@@ -1,4 +1,5 @@
using System; using Ink_Canvas.Helpers;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Windows; using System.Windows;
@@ -6,7 +7,6 @@ using System.Windows.Controls;
using System.Windows.Ink; using System.Windows.Ink;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using Ink_Canvas.Helpers;
namespace Ink_Canvas namespace Ink_Canvas
{ {
+2 -2
View File
@@ -1,4 +1,5 @@
using System; using Ink_Canvas.Helpers;
using System;
using System.ComponentModel; using System.ComponentModel;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
@@ -11,7 +12,6 @@ using System.Threading.Tasks;
using System.Timers; using System.Timers;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using Ink_Canvas.Helpers;
namespace Ink_Canvas namespace Ink_Canvas
{ {
+81 -81
View File
@@ -1,3 +1,4 @@
using Ink_Canvas.Helpers;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -8,7 +9,6 @@ using System.Windows.Ink;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Threading; using System.Windows.Threading;
using Ink_Canvas.Helpers;
using Point = System.Windows.Point; using Point = System.Windows.Point;
namespace Ink_Canvas namespace Ink_Canvas
@@ -468,100 +468,100 @@ namespace Ink_Canvas
BlackboardUIGridForInkReplay.IsHitTestVisible = false; BlackboardUIGridForInkReplay.IsHitTestVisible = false;
dec.Add(e.TouchDevice.Id); dec.Add(e.TouchDevice.Id);
// Palm Eraser 逻辑 - 优化:改进手掌判定条件,提高精度 // Palm Eraser 逻辑 - 优化:改进手掌判定条件,提高精度
if (Settings.Canvas.EnablePalmEraser && dec.Count >= 2 && !isPalmEraserActive && !palmEraserTouchDownHandled) if (Settings.Canvas.EnablePalmEraser && dec.Count >= 2 && !isPalmEraserActive && !palmEraserTouchDownHandled)
{
var bounds = e.GetTouchPoint(inkCanvas).Bounds;
// 根据敏感度设置调整判定参数
double palmThreshold;
double aspectRatioThreshold;
int minTouchPoints;
switch (Settings.Canvas.PalmEraserSensitivity)
{ {
case 0: // 低敏感度 - 更严格的判定 var bounds = e.GetTouchPoint(inkCanvas).Bounds;
palmThreshold = 80;
aspectRatioThreshold = 0.4;
minTouchPoints = 4;
break;
case 1: // 中敏感度 - 平衡的判定
palmThreshold = 60;
aspectRatioThreshold = 0.3;
minTouchPoints = 3;
break;
case 2: // 高敏感度 - 较宽松的判定
default:
palmThreshold = 50;
aspectRatioThreshold = 0.25;
minTouchPoints = 2;
break;
}
// 计算宽高比 // 根据敏感度设置调整判定参数
double aspectRatio = Math.Min(bounds.Width, bounds.Height) / Math.Max(bounds.Width, bounds.Height); double palmThreshold;
double aspectRatioThreshold;
int minTouchPoints;
// 更严格的手掌判定条件 switch (Settings.Canvas.PalmEraserSensitivity)
bool isLargeTouch = bounds.Width >= palmThreshold && bounds.Height >= palmThreshold;
bool isPalmLikeShape = aspectRatio >= aspectRatioThreshold;
bool hasMultipleTouchPoints = dec.Count >= minTouchPoints;
if (isLargeTouch && isPalmLikeShape && hasMultipleTouchPoints)
{
// 记录当前编辑模式和高光状态
palmEraserLastEditingMode = inkCanvas.EditingMode;
palmEraserLastIsHighlighter = drawingAttributes.IsHighlighter;
// 记录参与手掌擦的触摸点ID
palmEraserTouchIds.Clear();
foreach (int touchId in dec)
{ {
palmEraserTouchIds.Add(touchId); case 0: // 低敏感度 - 更严格的判定
palmThreshold = 80;
aspectRatioThreshold = 0.4;
minTouchPoints = 4;
break;
case 1: // 中敏感度 - 平衡的判定
palmThreshold = 60;
aspectRatioThreshold = 0.3;
minTouchPoints = 3;
break;
case 2: // 高敏感度 - 较宽松的判定
default:
palmThreshold = 50;
aspectRatioThreshold = 0.25;
minTouchPoints = 2;
break;
} }
// 切换为橡皮擦 // 计算宽高比
EraserIcon_Click(null, null); double aspectRatio = Math.Min(bounds.Width, bounds.Height) / Math.Max(bounds.Width, bounds.Height);
isPalmEraserActive = true;
palmEraserActivationTime = DateTime.Now; // 记录激活时间
palmEraserTouchDownHandled = true; // 标记已处理
// 启动恢复定时器,防止卡死 // 更严格的手掌判定条件
StartPalmEraserRecoveryTimer(); bool isLargeTouch = bounds.Width >= palmThreshold && bounds.Height >= palmThreshold;
bool isPalmLikeShape = aspectRatio >= aspectRatioThreshold;
bool hasMultipleTouchPoints = dec.Count >= minTouchPoints;
// 记录日志 if (isLargeTouch && isPalmLikeShape && hasMultipleTouchPoints)
LogHelper.WriteLogToFile($"Palm eraser activated - Sensitivity: {Settings.Canvas.PalmEraserSensitivity}, Touch bounds: {bounds.Width}x{bounds.Height}, Aspect ratio: {aspectRatio:F2}, Touch points: {dec.Count}");
}
}
// 设备1个的时候,记录中心点
if (dec.Count == 1)
{
touchPoint = e.GetTouchPoint(inkCanvas);
centerPoint = touchPoint.Position;
// 修复:只允许在此处赋值iniP,防止TouchMove等其他地方覆盖,保证几何绘制起点一致
if (drawingShapeMode != 0)
{
// 对于双曲线绘制,第一笔时记录起点,第二笔时不更新起点
if (drawingShapeMode == 24 || drawingShapeMode == 25)
{ {
// 双曲线绘制:第一笔记录起点,第二笔保持第一笔的起点 // 记录当前编辑模式和高光状态
if (drawMultiStepShapeCurrentStep == 0) palmEraserLastEditingMode = inkCanvas.EditingMode;
palmEraserLastIsHighlighter = drawingAttributes.IsHighlighter;
// 记录参与手掌擦的触摸点ID
palmEraserTouchIds.Clear();
foreach (int touchId in dec)
{ {
palmEraserTouchIds.Add(touchId);
}
// 切换为橡皮擦
EraserIcon_Click(null, null);
isPalmEraserActive = true;
palmEraserActivationTime = DateTime.Now; // 记录激活时间
palmEraserTouchDownHandled = true; // 标记已处理
// 启动恢复定时器,防止卡死
StartPalmEraserRecoveryTimer();
// 记录日志
LogHelper.WriteLogToFile($"Palm eraser activated - Sensitivity: {Settings.Canvas.PalmEraserSensitivity}, Touch bounds: {bounds.Width}x{bounds.Height}, Aspect ratio: {aspectRatio:F2}, Touch points: {dec.Count}");
}
}
// 设备1个的时候,记录中心点
if (dec.Count == 1)
{
touchPoint = e.GetTouchPoint(inkCanvas);
centerPoint = touchPoint.Position;
// 修复:只允许在此处赋值iniP,防止TouchMove等其他地方覆盖,保证几何绘制起点一致
if (drawingShapeMode != 0)
{
// 对于双曲线绘制,第一笔时记录起点,第二笔时不更新起点
if (drawingShapeMode == 24 || drawingShapeMode == 25)
{
// 双曲线绘制:第一笔记录起点,第二笔保持第一笔的起点
if (drawMultiStepShapeCurrentStep == 0)
{
iniP = touchPoint.Position;
}
// 第二笔时不更新iniP,保持第一笔的起点
}
else
{
// 其他图形正常记录起点
iniP = touchPoint.Position; iniP = touchPoint.Position;
} }
// 第二笔时不更新iniP,保持第一笔的起点
} }
else
{
// 其他图形正常记录起点
iniP = touchPoint.Position;
}
}
// 记录第一根手指点击时的 StrokeCollection // 记录第一根手指点击时的 StrokeCollection
lastTouchDownStrokeCollection = inkCanvas.Strokes.Clone(); lastTouchDownStrokeCollection = inkCanvas.Strokes.Clone();
} }
//设备两个及两个以上,将画笔功能关闭 //设备两个及两个以上,将画笔功能关闭
if (dec.Count > 1 || isSingleFingerDragMode || !Settings.Gesture.IsEnableTwoFingerGesture) if (dec.Count > 1 || isSingleFingerDragMode || !Settings.Gesture.IsEnableTwoFingerGesture)
{ {
+4 -4
View File
@@ -1,12 +1,12 @@
using System; using Hardcodet.Wpf.TaskbarNotification;
using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern.Controls;
using System;
using System.Diagnostics; using System.Diagnostics;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Interop; using System.Windows.Interop;
using Hardcodet.Wpf.TaskbarNotification;
using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern.Controls;
using Application = System.Windows.Application; using Application = System.Windows.Application;
using ContextMenu = System.Windows.Controls.ContextMenu; using ContextMenu = System.Windows.Controls.ContextMenu;
using MenuItem = System.Windows.Controls.MenuItem; using MenuItem = System.Windows.Controls.MenuItem;
+2 -2
View File
@@ -1,7 +1,7 @@
using System; using Newtonsoft.Json;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using Newtonsoft.Json;
namespace Ink_Canvas namespace Ink_Canvas
{ {
@@ -1,8 +1,8 @@
using Microsoft.Win32;
using System; using System;
using System.IO; using System.IO;
using System.Windows; using System.Windows;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Microsoft.Win32;
namespace Ink_Canvas namespace Ink_Canvas
{ {
@@ -1,8 +1,8 @@
using Microsoft.Win32;
using System; using System;
using System.IO; using System.IO;
using System.Windows; using System.Windows;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Microsoft.Win32;
namespace Ink_Canvas namespace Ink_Canvas
{ {
@@ -1,4 +1,5 @@
using System; using Ink_Canvas.Helpers;
using System;
using System.ComponentModel; using System.ComponentModel;
using System.Media; using System.Media;
using System.Timers; using System.Timers;
@@ -7,7 +8,6 @@ using System.Windows.Forms;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Interop; using System.Windows.Interop;
using System.Windows.Media; using System.Windows.Media;
using Ink_Canvas.Helpers;
using Application = System.Windows.Application; using Application = System.Windows.Application;
using MouseEventArgs = System.Windows.Input.MouseEventArgs; using MouseEventArgs = System.Windows.Input.MouseEventArgs;
using Timer = System.Timers.Timer; using Timer = System.Timers.Timer;
@@ -1,4 +1,7 @@
using System; using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern.Controls;
using MdXaml;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@@ -10,9 +13,6 @@ using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Interop; using System.Windows.Interop;
using System.Windows.Media; using System.Windows.Media;
using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern.Controls;
using MdXaml;
namespace Ink_Canvas namespace Ink_Canvas
{ {
@@ -1,3 +1,4 @@
using Ink_Canvas.Helpers;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
@@ -7,7 +8,6 @@ using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Input; using System.Windows.Input;
using Ink_Canvas.Helpers;
// Added for OrderByDescending // Added for OrderByDescending
@@ -1,10 +1,10 @@
using Ink_Canvas.Helpers;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection; using System.Reflection;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Input; using System.Windows.Input;
using Ink_Canvas.Helpers;
namespace Ink_Canvas.Windows namespace Ink_Canvas.Windows
{ {
+2 -2
View File
@@ -1,7 +1,7 @@
using System.ComponentModel; using Ink_Canvas.Helpers;
using System.ComponentModel;
using System.IO; using System.IO;
using System.Windows; using System.Windows;
using Ink_Canvas.Helpers;
namespace Ink_Canvas namespace Ink_Canvas
{ {
@@ -1,6 +1,6 @@
using System.Windows; using Ink_Canvas.Helpers;
using System.Windows;
using System.Windows.Input; using System.Windows.Input;
using Ink_Canvas.Helpers;
namespace Ink_Canvas namespace Ink_Canvas
{ {
@@ -1,3 +1,9 @@
using Ink_Canvas.Helpers;
using Ink_Canvas.Helpers.Plugins;
using Ink_Canvas.Helpers.Plugins.BuiltIn;
using Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher;
using iNKORE.UI.WPF.Modern.Controls;
using Microsoft.Win32;
using System; using System;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.ComponentModel; using System.ComponentModel;
@@ -6,12 +12,6 @@ using System.Linq;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Threading; using System.Windows.Threading;
using Ink_Canvas.Helpers;
using Ink_Canvas.Helpers.Plugins;
using Ink_Canvas.Helpers.Plugins.BuiltIn;
using Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher;
using iNKORE.UI.WPF.Modern.Controls;
using Microsoft.Win32;
using MessageBox = System.Windows.MessageBox; using MessageBox = System.Windows.MessageBox;
namespace Ink_Canvas.Windows namespace Ink_Canvas.Windows
+3 -3
View File
@@ -1,4 +1,6 @@
using System; using Ink_Canvas.Helpers;
using Microsoft.VisualBasic;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
@@ -8,8 +10,6 @@ using System.Windows;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using Ink_Canvas.Helpers;
using Microsoft.VisualBasic;
using MessageBox = iNKORE.UI.WPF.Modern.Controls.MessageBox; using MessageBox = iNKORE.UI.WPF.Modern.Controls.MessageBox;
namespace Ink_Canvas namespace Ink_Canvas