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

2023-12-18 21:20

本文主要是介绍【开源项目】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# 代码文件,添加代码:

   // 创建VideoSourceVideoSource 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

 

 

这篇关于【开源项目】WPF 扩展 -- 多画面视频渲染组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/509796

相关文章

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶