【开源项目】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

相关推荐
ID_180079054734 分钟前
TikTok 视频详情 & 列表 API 接口技术文档(带全套 JSON 样例・核心章节)
linux·windows·microsoft
jingling5557 分钟前
gitHub开源项目 | 不用剪辑技能,也能做出 Screen Studio 级演示视频:开源 Recordly 值得试试
开源·github·音视频
纳祥科技7 分钟前
音频ADC芯片基础解析:为什么计算机需要它来理解真实世界?
网络·单片机·音视频·智能音箱
叶帆16 分钟前
【YFIOs】用C#开发硬件之串口通信
开发语言·c#
xiaoshuaishuai824 分钟前
C# Avaloniaui ListBox样式及用法
开发语言·c#
天才程序YUAN26 分钟前
Windows 11 C 盘扩容完整教程:恢复分区拦路、页面文件锁盘、WinRE 重建全记录
c语言·开发语言·windows
大蚂蚁2号34 分钟前
本地视频转文字免费工具
python·音视频
兔老大RabbitMQ36 分钟前
涉及泛型的强制转换
linux·windows·microsoft
开开心心就好39 分钟前
免费智能证件合成工具,一键排版打印
windows·随机森林·计算机外设·word·逻辑回归·excel·csdn开发云