From 21e0e5dc8167899ee9b42c2685fbaedd8761722b Mon Sep 17 00:00:00 2001
From: tanglong <842690096@qq.com>
Date: Fri, 13 Mar 2026 13:54:39 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Wpf_AiSportsMicrospace/Common/SportOperate.cs | 9 ++--
.../Views/JumpRope/GroupJumpRope.xaml.cs | 53 ++++++++++---------
2 files changed, 30 insertions(+), 32 deletions(-)
diff --git a/Wpf_AiSportsMicrospace/Common/SportOperate.cs b/Wpf_AiSportsMicrospace/Common/SportOperate.cs
index 49c7cb9..7d539d9 100644
--- a/Wpf_AiSportsMicrospace/Common/SportOperate.cs
+++ b/Wpf_AiSportsMicrospace/Common/SportOperate.cs
@@ -167,17 +167,14 @@ namespace Wpf_AiSportsMicrospace.Common
}
// 第二步:举手完成
- if (wristElapsed >= 3)
+ if (raiseElapsed >= 1)
{
+ _raiseStartTime = null;
_wristStartTime = null;
_firstHandTriggered = false;
return (int)WavingAction.RaiseHand;
}
- // 举手中
- return (int)WavingAction.Raising;
- }
-
///
/// 验证左手动作(目前只有举手)
///
@@ -231,7 +228,7 @@ namespace Wpf_AiSportsMicrospace.Common
if (k.Name != "right_ankle" && k.Name != "left_ankle")
continue;
- double x = k.X;
+ double x = 1920 - k.X;
double y = k.Y;
if (Math.Abs(x - cx) <= halfW &&
diff --git a/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs b/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs
index 5868a77..96c5094 100644
--- a/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs
+++ b/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs
@@ -2,6 +2,7 @@
using Common;
using Dto;
using Emgu.CV.Flann;
+using Emgu.CV.Structure;
using Enum;
using HandyControl.Controls;
using Microsoft.EntityFrameworkCore;
@@ -66,7 +67,7 @@ namespace Wpf_AiSportsMicrospace.Views
private readonly object _updateLock = new object();
private readonly Dictionary _jumpStatus = new Dictionary();
private GroupJumpRopeContext _groupJumpRopeContext;
-
+ Image tipImage;
public GroupJumpRope()
{
InitializeComponent();
@@ -84,11 +85,9 @@ namespace Wpf_AiSportsMicrospace.Views
using var scope = App.AppHost.Services.CreateScope();
var db = scope.ServiceProvider.GetRequiredService();
- // 获取配置
- var pointCount = await db.BasicConfig
- .Where(x => x.Code == AppSettings.Code)
- .Select(x => x.HomeWidth)
- .FirstOrDefaultAsync();
+ var points = new[] { cfg.Point1, cfg.Point2, cfg.Point3,
+ cfg.Point4, cfg.Point5, cfg.Point6,
+ cfg.Point7, cfg.Point8, cfg.Point9, cfg.Point10 };
var cfg = await db.GroupPoints.FirstOrDefaultAsync(x => x.Code == AppSettings.Code);
@@ -138,13 +137,14 @@ namespace Wpf_AiSportsMicrospace.Views
}
private void ShowCenterTip(string imagePath, TimeSpan duration)
{
- var tipImage = new Image
+ tipImage = new Image
{
Source = new BitmapImage(new Uri(imagePath, UriKind.Absolute)),
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center,
Opacity = 0,
Margin = new Thickness(0, -100, 0, 0),
+ Name= "TipImage"
};
// 增加图片的大小,调整比例
@@ -164,26 +164,26 @@ namespace Wpf_AiSportsMicrospace.Views
tipImage.BeginAnimation(UIElement.OpacityProperty, fadeInAnimation);
// 定时移除,并且渐变消失
- Task.Delay(duration).ContinueWith(_ =>
- {
- Dispatcher.Invoke(() =>
- {
- // 渐变消失动画
- var fadeOutAnimation = new DoubleAnimation
- {
- From = 1,
- To = 0,
- Duration = TimeSpan.FromSeconds(1.5)
- };
- tipImage.BeginAnimation(UIElement.OpacityProperty, fadeOutAnimation);
+ //Task.Delay(duration).ContinueWith(_ =>
+ //{
+ // Dispatcher.Invoke(() =>
+ // {
+ // // 渐变消失动画
+ // var fadeOutAnimation = new DoubleAnimation
+ // {
+ // From = 1,
+ // To = 0,
+ // Duration = TimeSpan.FromSeconds(1.5)
+ // };
+ // tipImage.BeginAnimation(UIElement.OpacityProperty, fadeOutAnimation);
- // 完成后移除图片
- fadeOutAnimation.Completed += (s, e) =>
- {
- userBox.Children.Remove(tipImage);
- };
- });
- });
+ // // 完成后移除图片
+ // fadeOutAnimation.Completed += (s, e) =>
+ // {
+ // userBox.Children.Remove(tipImage);
+ // };
+ // });
+ //});
}
private void MediaPlayer_MediaEnded(object sender, EventArgs e)
@@ -239,6 +239,7 @@ namespace Wpf_AiSportsMicrospace.Views
private async void StartCountdown(int start = 3)
{
_mainWin.ShowCountDownAnimation();
+ //_currentCountdown = start;
Utils.PlayBackgroundMusic("countdown_3.mp3", false);
From 27738ccf190f647f262f52653d075e56d4390313 Mon Sep 17 00:00:00 2001
From: tanglong <842690096@qq.com>
Date: Fri, 13 Mar 2026 16:08:07 +0800
Subject: [PATCH 2/4] ff
---
Wpf_AiSportsMicrospace/Common/SportOperate.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Wpf_AiSportsMicrospace/Common/SportOperate.cs b/Wpf_AiSportsMicrospace/Common/SportOperate.cs
index 7d539d9..d6de074 100644
--- a/Wpf_AiSportsMicrospace/Common/SportOperate.cs
+++ b/Wpf_AiSportsMicrospace/Common/SportOperate.cs
@@ -167,13 +167,13 @@ namespace Wpf_AiSportsMicrospace.Common
}
// 第二步:举手完成
- if (raiseElapsed >= 1)
+ if (wristElapsed >= 3)
{
- _raiseStartTime = null;
_wristStartTime = null;
_firstHandTriggered = false;
return (int)WavingAction.RaiseHand;
}
+ }
///
/// 验证左手动作(目前只有举手)
From a2bb361aeb6a4e6b97d054c5ce56f7060be39f8b Mon Sep 17 00:00:00 2001
From: tanglong <842690096@qq.com>
Date: Fri, 13 Mar 2026 16:09:48 +0800
Subject: [PATCH 3/4] dd
---
.../Views/JumpRope/GroupJumpRope.xaml.cs | 53 +++++++++----------
1 file changed, 26 insertions(+), 27 deletions(-)
diff --git a/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs b/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs
index 96c5094..5868a77 100644
--- a/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs
+++ b/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs
@@ -2,7 +2,6 @@
using Common;
using Dto;
using Emgu.CV.Flann;
-using Emgu.CV.Structure;
using Enum;
using HandyControl.Controls;
using Microsoft.EntityFrameworkCore;
@@ -67,7 +66,7 @@ namespace Wpf_AiSportsMicrospace.Views
private readonly object _updateLock = new object();
private readonly Dictionary _jumpStatus = new Dictionary();
private GroupJumpRopeContext _groupJumpRopeContext;
- Image tipImage;
+
public GroupJumpRope()
{
InitializeComponent();
@@ -85,9 +84,11 @@ namespace Wpf_AiSportsMicrospace.Views
using var scope = App.AppHost.Services.CreateScope();
var db = scope.ServiceProvider.GetRequiredService();
- var points = new[] { cfg.Point1, cfg.Point2, cfg.Point3,
- cfg.Point4, cfg.Point5, cfg.Point6,
- cfg.Point7, cfg.Point8, cfg.Point9, cfg.Point10 };
+ // 获取配置
+ var pointCount = await db.BasicConfig
+ .Where(x => x.Code == AppSettings.Code)
+ .Select(x => x.HomeWidth)
+ .FirstOrDefaultAsync();
var cfg = await db.GroupPoints.FirstOrDefaultAsync(x => x.Code == AppSettings.Code);
@@ -137,14 +138,13 @@ namespace Wpf_AiSportsMicrospace.Views
}
private void ShowCenterTip(string imagePath, TimeSpan duration)
{
- tipImage = new Image
+ var tipImage = new Image
{
Source = new BitmapImage(new Uri(imagePath, UriKind.Absolute)),
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center,
Opacity = 0,
Margin = new Thickness(0, -100, 0, 0),
- Name= "TipImage"
};
// 增加图片的大小,调整比例
@@ -164,26 +164,26 @@ namespace Wpf_AiSportsMicrospace.Views
tipImage.BeginAnimation(UIElement.OpacityProperty, fadeInAnimation);
// 定时移除,并且渐变消失
- //Task.Delay(duration).ContinueWith(_ =>
- //{
- // Dispatcher.Invoke(() =>
- // {
- // // 渐变消失动画
- // var fadeOutAnimation = new DoubleAnimation
- // {
- // From = 1,
- // To = 0,
- // Duration = TimeSpan.FromSeconds(1.5)
- // };
- // tipImage.BeginAnimation(UIElement.OpacityProperty, fadeOutAnimation);
+ Task.Delay(duration).ContinueWith(_ =>
+ {
+ Dispatcher.Invoke(() =>
+ {
+ // 渐变消失动画
+ var fadeOutAnimation = new DoubleAnimation
+ {
+ From = 1,
+ To = 0,
+ Duration = TimeSpan.FromSeconds(1.5)
+ };
+ tipImage.BeginAnimation(UIElement.OpacityProperty, fadeOutAnimation);
- // // 完成后移除图片
- // fadeOutAnimation.Completed += (s, e) =>
- // {
- // userBox.Children.Remove(tipImage);
- // };
- // });
- //});
+ // 完成后移除图片
+ fadeOutAnimation.Completed += (s, e) =>
+ {
+ userBox.Children.Remove(tipImage);
+ };
+ });
+ });
}
private void MediaPlayer_MediaEnded(object sender, EventArgs e)
@@ -239,7 +239,6 @@ namespace Wpf_AiSportsMicrospace.Views
private async void StartCountdown(int start = 3)
{
_mainWin.ShowCountDownAnimation();
- //_currentCountdown = start;
Utils.PlayBackgroundMusic("countdown_3.mp3", false);
From 749c8a266feaf4f831d619c024f602e292701a6e Mon Sep 17 00:00:00 2001
From: tanglong <842690096@qq.com>
Date: Fri, 13 Mar 2026 16:10:14 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E5=90=88=E5=B9=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Wpf_AiSportsMicrospace/Common/SportOperate.cs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Wpf_AiSportsMicrospace/Common/SportOperate.cs b/Wpf_AiSportsMicrospace/Common/SportOperate.cs
index d6de074..49c7cb9 100644
--- a/Wpf_AiSportsMicrospace/Common/SportOperate.cs
+++ b/Wpf_AiSportsMicrospace/Common/SportOperate.cs
@@ -173,6 +173,9 @@ namespace Wpf_AiSportsMicrospace.Common
_firstHandTriggered = false;
return (int)WavingAction.RaiseHand;
}
+
+ // 举手中
+ return (int)WavingAction.Raising;
}
///
@@ -228,7 +231,7 @@ namespace Wpf_AiSportsMicrospace.Common
if (k.Name != "right_ankle" && k.Name != "left_ankle")
continue;
- double x = 1920 - k.X;
+ double x = k.X;
double y = k.Y;
if (Math.Abs(x - cx) <= halfW &&