diff --git a/BetterGenshinImpact/GameTask/AutoFishing/AutoFishingTrigger.cs b/BetterGenshinImpact/GameTask/AutoFishing/AutoFishingTrigger.cs
index cbdc3452..d52ef914 100644
--- a/BetterGenshinImpact/GameTask/AutoFishing/AutoFishingTrigger.cs
+++ b/BetterGenshinImpact/GameTask/AutoFishing/AutoFishingTrigger.cs
@@ -98,7 +98,6 @@ namespace BetterGenshinImpact.GameTask.AutoFishing
var grayMat = content.SrcGreyMat;
var grayRightBottomMat = CutHelper.CutRightBottom(grayMat, grayMat.Width / 3, grayMat.Height / 5);
var p = MatchTemplateHelper.FindSingleTarget(grayRightBottomMat, AutoFishingAssets.SpaceButtonMat);
- Cv2.ImWrite("1.png", grayMat);
return p is { X: > 0, Y: > 0 };
}
diff --git a/BetterGenshinImpact/GameTask/TaskDispatcher.cs b/BetterGenshinImpact/GameTask/TaskDispatcher.cs
index 6177a2ad..3f4e20c5 100644
--- a/BetterGenshinImpact/GameTask/TaskDispatcher.cs
+++ b/BetterGenshinImpact/GameTask/TaskDispatcher.cs
@@ -95,12 +95,7 @@ namespace BetterGenshinImpact.GameTask
}
// 捕获游戏画面
- //var sw = new Stopwatch();
- //sw.Start();
var bitmap = _capture.Capture();
- //sw.Stop();
- //Debug.WriteLine("截图耗时:" + sw.ElapsedMilliseconds);
-
if (bitmap == null)
{
_logger.LogWarning("截图失败!");
diff --git a/BetterGenshinImpact/View/MainWindow.xaml b/BetterGenshinImpact/View/MainWindow.xaml
index fc33ddde..3de0c4de 100644
--- a/BetterGenshinImpact/View/MainWindow.xaml
+++ b/BetterGenshinImpact/View/MainWindow.xaml
@@ -6,7 +6,7 @@
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:viewModel="clr-namespace:BetterGenshinImpact.ViewModel"
mc:Ignorable="d"
- Title="MainWindow" Height="200" Width="300">
+ Title="更好的原神Alpha1" Height="300" Width="300">
@@ -23,12 +23,17 @@
+
+
+
+
-
+ SelectedItem="{Binding SelectedMode, Mode=TwoWay}" Grid.ColumnSpan="2" />
+
+
+
+
-
-
\ No newline at end of file
diff --git a/BetterGenshinImpact/ViewModel/MainWindowViewModel.cs b/BetterGenshinImpact/ViewModel/MainWindowViewModel.cs
index 7fd69859..c5e2ac3b 100644
--- a/BetterGenshinImpact/ViewModel/MainWindowViewModel.cs
+++ b/BetterGenshinImpact/ViewModel/MainWindowViewModel.cs
@@ -28,6 +28,8 @@ namespace BetterGenshinImpact.ViewModel
private MaskWindow? _maskWindow;
private readonly ILogger _logger = App.GetLogger();
+ private TaskDispatcher _taskDispatcher = new();
+
[RelayCommand]
private void OnLoaded()
@@ -71,46 +73,57 @@ namespace BetterGenshinImpact.ViewModel
MessageBox.Show("请选择捕获方式");
return;
}
- new TaskDispatcher().Start(SelectedMode.ToCaptureMode());
+ _taskDispatcher.Start(SelectedMode.ToCaptureMode());
}
- private void TestRect()
+ [RelayCommand]
+ private void OnStopTrigger()
{
- var hWnd = SystemControl.FindGenshinImpactHandle();
- if (hWnd == IntPtr.Zero)
+ if (SelectedMode == null)
{
- MessageBox.Show("未找到原神窗口");
+ MessageBox.Show("请选择捕获方式");
return;
}
-
- User32.GetWindowRect(hWnd, out var rect);
- //var x = rect.X;
- //var y = rect.Y;
- //var w = rect.Width;
- //var h = rect.Height;
-
- var x = (int)Math.Ceiling(rect.X * PrimaryScreen.ScaleX);
- var y = (int)Math.Ceiling(rect.Y * PrimaryScreen.ScaleY);
- var w = (int)Math.Ceiling(rect.Width * PrimaryScreen.ScaleX);
- var h = (int)Math.Ceiling(rect.Height * PrimaryScreen.ScaleY);
- Debug.WriteLine($"原神窗口大小:{rect.Width} x {rect.Height}");
- Debug.WriteLine($"原神窗口大小(计算DPI缩放后):{w} x {h}");
-
- User32.GetClientRect(hWnd, out var clientRect);
- var cx = clientRect.X;
- var cy = clientRect.Y;
- var cw = clientRect.Width;
- var ch = clientRect.Height;
-
- Debug.WriteLine($"原神窗口内控件大小:{clientRect.Width} x {clientRect.Height}");
-
-
- var h2 = User32.GetSystemMetrics(User32.SystemMetric.SM_CYFRAME);
- var h3 = User32.GetSystemMetrics(User32.SystemMetric.SM_CYCAPTION);
- _logger.LogInformation($"标题栏高度: {h2} {h3}");
-
+ _taskDispatcher.Stop();
}
+ //private void TestRect()
+ //{
+ // var hWnd = SystemControl.FindGenshinImpactHandle();
+ // if (hWnd == IntPtr.Zero)
+ // {
+ // MessageBox.Show("未找到原神窗口");
+ // return;
+ // }
+
+ // User32.GetWindowRect(hWnd, out var rect);
+ // //var x = rect.X;
+ // //var y = rect.Y;
+ // //var w = rect.Width;
+ // //var h = rect.Height;
+
+ // var x = (int)Math.Ceiling(rect.X * PrimaryScreen.ScaleX);
+ // var y = (int)Math.Ceiling(rect.Y * PrimaryScreen.ScaleY);
+ // var w = (int)Math.Ceiling(rect.Width * PrimaryScreen.ScaleX);
+ // var h = (int)Math.Ceiling(rect.Height * PrimaryScreen.ScaleY);
+ // Debug.WriteLine($"原神窗口大小:{rect.Width} x {rect.Height}");
+ // Debug.WriteLine($"原神窗口大小(计算DPI缩放后):{w} x {h}");
+
+ // User32.GetClientRect(hWnd, out var clientRect);
+ // var cx = clientRect.X;
+ // var cy = clientRect.Y;
+ // var cw = clientRect.Width;
+ // var ch = clientRect.Height;
+
+ // Debug.WriteLine($"原神窗口内控件大小:{clientRect.Width} x {clientRect.Height}");
+
+
+ // var h2 = User32.GetSystemMetrics(User32.SystemMetric.SM_CYFRAME);
+ // var h3 = User32.GetSystemMetrics(User32.SystemMetric.SM_CYCAPTION);
+ // _logger.LogInformation($"标题栏高度: {h2} {h3}");
+
+ //}
+
private void TestMask()
{
var hWnd = SystemControl.FindGenshinImpactHandle();