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

目录

1、项目介绍

2、组件集成

[2.1 下载地址](#2.1 下载地址)

[2.2 添加依赖](#2.2 添加依赖)

3、使用示例

[3.1 启动动画](#3.1 启动动画)

[3.2 视频渲染](#3.2 视频渲染)

[3.3 效果展示](#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 关键字,选择最新版本安装。

3、使用示例

3.1 启动动画

cs 复制代码
   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 文件,添加代码:

cs 复制代码
    <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# 代码文件,添加代码:

cs 复制代码
   // 创建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 效果展示

平铺模式

画廊模式

4、项目地址

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

相关推荐
合作小小程序员小小店5 小时前
桌面开发,在线%信息管理%系统,基于vs2022,c#,winform,sql server数据。
开发语言·数据库·sql·microsoft·c#
課代表5 小时前
Windows 文本搜索命令 findstr
windows·正则表达式·命令行·文本·匹配·搜索·findstr
吴声子夜歌6 小时前
Windows——系统配置与管理
windows
曹牧6 小时前
C#中的StartsWith
java·服务器·c#
时光追逐者6 小时前
分享5款.NET开源免费的Redis客户端组件库
数据库·redis·开源·c#·.net·.net core
p***92486 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
小邓   ༽6 小时前
C语言课件(非常详细)
java·c语言·开发语言·python·eclipse·c#·c语言课件
白日做梦Q6 小时前
Linux/Windows系统下:traceroute 与 tracert 路由追踪命令全解析
linux·运维·windows
睡前要喝豆奶粉6 小时前
EF Core动态sql
数据库·sql·c#·.netcore
食品一少年6 小时前
【Day1-3】(Windows版)Open Harmony PC 命令行适配指南环境准备篇(2)
windows