【开源项目】WPF 扩展 -- 多画面视频渲染组件

目录

1、项目介绍

2、组件集成

2.1 下载地址

2.2 添加依赖

3、使用示例

3.1 启动动画

3.2 视频渲染

3.3 效果展示

4、项目地址

 


1、项目介绍

Com.Gitusme.Net.Extensiones.Wpf 是一款 Wpf 扩展组件。基于.Net Core 3.1 开发,当前是第一个发布版本 1.0.0,包含 启动动画 和 视频渲染 两大重要功能。视频渲染支持平铺模式和画廊模式,支持多画面异步渲染,能有效发挥硬件性能,集成快捷使用方便。免费版仅支持1个画面渲染,多画面渲染诉求,请与作者联系以供技术支持。

2、组件集成

2.1 下载地址

https://www.nuget.org/packages/Com.Gitusme.Net.Extensiones.Wpf

2.2 添加依赖

代码工程中,使用NuGet包管理器,搜索 Com.Gitusme.Net.Extensiones.Wpf 关键字,选择最新版本安装。

18a0def21319453aa6da338ec35f070a.png

3、使用示例

3.1 启动动画

   protected override void OnStartup(StartupEventArgs e)
   {
       // 前提条件:需要删除XAML中的 StartupUri = "MainWindow.xaml"
       this.StartSplashScreen(
           $@"Resources\Images\SplashScreen.png",
          () => {
               // 在这里处理耗时任务或加载后台数据
               Thread.Sleep(3000);
          },
          () => {
               // 加载完成,后进入应用主界面
               MainWindow mainWindow = new MainWindow();
               App.Current.MainWindow = mainWindow;
               mainWindow.Show();
          },
          (ex) => {
               // 加载出错,向用户反馈或记录后台日志
               MessageBox.Show(ex.Message);
          });
   }

3.2 视频渲染

XAML 文件,添加代码:

    <Grid Background="Black">
        <!-- 平铺模式 -->
        <local:VideoContainer Name="videoContainer"
              Layout="Grid" Columns="2" Rows="2" />
        <!-- 画廊模式 -->
        <local:VideoContainer Name="videoContainer"
              Layout="Gallery" Dock="Left" GallerySize="300" />
    </Grid>

C# 代码文件,添加代码:

   // 创建VideoSource
   VideoSource video = new VideoSource();
   // 将VideoSource添加至VideoContainer容器
   videoContainer.Items = new List<VideoSource> { video };
   // 创建Task,更新VideoSource画面
   Task task = new Task((video) =>
   {
       video.Frame = new VideoFrame()
       {
           Data = bytes, // 视频帧数据
           Format = VideoFormat.RGB, // 指定视频格式(默认为YUV格式)
           Width = width, // 视频宽度
           Height = height // 视频高度
       };
   }, video);
   task.Start();

3.3 效果展示

平铺模式

b95ccb549f0142ab94dbbe8e8dc4f1ca.png

画廊模式

eed7094e131d4dde91258758f53037c2.png

4、项目地址

https://github.com/gitusme/Com.Gitusme.Net.Extensiones

 

 

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
WPFWindows Presentation Foundation)是一种用于创建用户界面的Microsoft开发工具。它提供了丰富的图形效果,便于数据绑定和样式定制等功能。以下是21个优秀的WPF项目及其源码的示例: 1. Wox - 一个开源的快速启动应用,可以帮助用户快速打开文件、应用程序和网页。 2. Material Design In XAML Toolkit - 一个实现了Material Design样式的WPF控件库。 3. MahApps.Metro - 一个现代风格的WPF控件库,提供了Metro风格的用户界面控件。 4. AvalonDock - 一个用于创建可停靠和浮动窗口的WPF控件。 5. Fluent Ribbon - 一个实现了Microsoft Office风格的Ribbon控件库。 6. Xceed DataGrid for WPF - 一个功能强大的数据表格控件,支持数据排序、过滤和编辑等功能。 7. Helix Toolkit - 一个用于创建3D图形的WPF控件库,提供了丰富的3D渲染和交互功能。 8. Live-Charts - 一个用于创建实时图表的WPF控件库,支持多种类型的图表和动画效果。 9. Extended WPF Toolkit - 一个扩展WPF控件库的工具包,提供了更多样式和功能。 10. WPF NotifyIcon - 一个用于在任务栏通知区域显示图标和弹出菜单的控件。 11. Dragablz - 一个用于创建可拖动和可关闭选项卡的WPF控件库。 12. Syncfusion WPF Controls - 一个商业级的WPF控件库,提供了丰富的用户界面和数据操作功能。 13. Telerik UI for WPF - 另一个商业级的WPF控件库,支持大量的UI控件和数据可视化组件。 14. SciChart - 一个用于创建高性能图表的WPF控件库,支持大数据量和实时数据更新。 15. DockPanel Suite - 一个用于创建可停靠和浮动窗口的WPF控件库,类似于Visual Studio的界面布局。 16. Prism - 一个帮助开发人员实现面向对象和模块化开发的WPF框架。 17. Catel - 一个用于创建MVVM(Model-View-ViewModel)模式应用程序的WPF框架。 18. Caliburn Micro - 一个轻量级的MVVM框架,用于帮助开发人员构建易于维护的WPF应用程序。 19. ReactiveUI - 一个基于响应式编程思想的MVVM框架,用于简化异步操作和数据绑定。 20. PrismLibrary - 一个基于MVVM的应用程序框架,提供了一套代码库和工具,帮助开发人员构建可扩展WPF应用程序。 21. WPF Application Framework (WAF) - 一个用于创建可测试和可扩展WPF应用程序的框架,提供了MVVM支持和模块化开发架构。 这些项目和框架提供了丰富的功能和设计模式,可以帮助开发人员快速构建高质量的WPF应用程序。他们的源码通常可以在相应的GitHub仓库或官方网站上找到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉特思米(gitusme)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值