代码清理
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 图片删除
|
// 图片删除
|
||||||
|
|||||||
@@ -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,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;
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user