This commit is contained in:
tanglong 2026-03-13 13:54:39 +08:00 committed by tanglong
parent f6c4abec68
commit 458e5f725d
3 changed files with 32 additions and 34 deletions

View File

@ -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;
}
/// <summary>
/// 验证左手动作(目前只有举手)
/// </summary>
@ -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 &&

View File

@ -209,7 +209,7 @@ namespace Views.JumpLong
// };
// TipBox.BeginAnimation(UIElement.OpacityProperty, fadeOutAnimation);
// });
// });;
//});
}
@ -234,7 +234,7 @@ namespace Views.JumpLong
ImageBehavior.GetAnimationController(centerImg4).Play();
await Task.Delay(2100);
_sport.Stop();//关闭运动
_mainWin.FacialRecognitionEvent -= this.HumanPredicting;
//_mainWin.FacialRecognitionEvent -= this.HumanPredicting;
count.Text = counts;
time.Text = _sport.GetFormatTimes();
ShowRope();

View File

@ -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<int, (string lastNumber, DateTime lastChangeTime, string currentState)> _jumpStatus = new Dictionary<int, (string, DateTime, string)>();
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<AppDbContext>();
// 获取配置
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);