DefaultCameraDebugPage.xaml.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System.Windows;
  2. using System.Windows.Controls;
  3. using System.Windows.Media;
  4. using System.Windows.Media.Imaging;
  5. using TeamAAS.Camera.Interfaces;
  6. namespace TeamAAS.Camera.UI
  7. {
  8. /// <summary>
  9. /// 默认相机调试页:以 ImageDisplayControl 为核心的通用实时预览页。
  10. /// 未在 [Camera] 特性上指定 DebugPageType 的品牌相机均使用本页。
  11. /// 操作类功能(连接/断开/采集控制等)由宿主工具栏承担,本页只负责图像呈现。
  12. /// </summary>
  13. public partial class DefaultCameraDebugPage : UserControl, ICameraDebugPage, ICameraImageSink
  14. {
  15. private ICamera _camera;
  16. public DefaultCameraDebugPage()
  17. {
  18. InitializeComponent();
  19. }
  20. /// <summary>当前绑定的相机实例</summary>
  21. public ICamera Camera => _camera;
  22. public void BindCamera(ICamera camera)
  23. {
  24. _camera = camera;
  25. }
  26. public void UnbindCamera()
  27. {
  28. _camera = null;
  29. Display.Clear();
  30. }
  31. public void ShowImage(ImageSource image)
  32. {
  33. Display.SetImage(image as BitmapSource);
  34. }
  35. }
  36. }