Эх сурвалжийг харах

2025111101 线程内更新图像代码演示

向羽 孟 1 долоо хоног өмнө
parent
commit
228cca6881

+ 16 - 7
MvvmScaffoldFrame48.VIEWMODEL/ViewModel/DeepObjectDetectClass.cs

@@ -6,7 +6,9 @@ using System.Drawing.Imaging;
 using System.IO;
 using System.Linq;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
+using System.Windows;
 using System.Windows.Input;
 using System.Windows.Media.Imaging;
 using System.Xml.Linq;
@@ -59,11 +61,22 @@ namespace MvvmScaffoldFrame48.ViewModel.ViewModel
                 Rectangle rectangle = new Rectangle(Convert.ToInt32(item.Box.CenterX - (item.Box.Width / 2)), Convert.ToInt32(item.Box.CenterY - (item.Box.Height / 2)), Convert.ToInt32(item.Box.Width), Convert.ToInt32(item.Box.Height));
                 bitmaps.Add(ImageAlgorithmTools.CropBitmap(bitmap, rectangle));
             }
-            PrintRectToBitmap(result, ref bitmap);
+            //PrintRectToBitmap(result, ref bitmap);
             // 将 Bitmap 转换为 BitmapImage
-            BitmapImage bitmapImage = ImageAlgorithmTools.ConvertToBitmapImage(bitmap);
+            //BitmapImage bitmapImage = ImageAlgorithmTools.ConvertToBitmapImage(bitmap);
+            //ShowImage = bitmapImage;
 
-            ShowImage = bitmapImage;
+            Task.Run(async () =>
+            {
+                foreach (var item in bitmaps)
+                {
+                    await Application.Current.Dispatcher.InvokeAsync(() => {
+                        BitmapImage bitmapImage = ImageAlgorithmTools.ConvertToBitmapImage(item);
+                        ShowImage = bitmapImage;
+                    });
+                    Thread.Sleep(500);
+                }
+            });
         }
         #endregion
 
@@ -85,8 +98,6 @@ namespace MvvmScaffoldFrame48.ViewModel.ViewModel
             TestCommand = new RelayCommand(Test, CanTrue);
         }
 
-
-
         public void PrintRectToBitmap(List<CNNDetectPredInfo> RectData , ref Bitmap bitmap)
         {
             using (Graphics g = Graphics.FromImage(bitmap))
@@ -102,8 +113,6 @@ namespace MvvmScaffoldFrame48.ViewModel.ViewModel
                 }
             }
         }
-
-
         #endregion
     }
 }