博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
视频监控分屏简单例子
阅读量:5908 次
发布时间:2019-06-19

本文共 4256 字,大约阅读时间需要 14 分钟。

  第一次入住园子,第一次写博客好紧张:)

  最近在做关于一个视频监控的项目涉及到分屏显示功能。下载了几个网上的例子看下都不是太符合要求,所以只能自己动手改造一下

首先定义好要分屏样式的数组:

//X,Y,row(第几行) ,col(第几列)        ///         /// * X Y row col        ///         public int[, , ,] split1x1 = new int[,,,] { { { { 0, 0, 1, 1 } } } };        ///         /// **        /// **        ///         public int[, , ,] split2x2 = new int[,,,]         {         {
{
{ 0, 0,1,1 }}},{
{
{
1,0,1,1}}}, {
{
{ 0, 1,1,1 }}},{
{
{
1,1,1,1}}} }; /// /// * /// * /// *** /// public int[, , ,] split1x5 = new int[,,,] { {
{
{ 0, 0,2,2}}},{
{
{ 2, 0,1,1}}}, {
{
{ 2, 1,1,1}}}, {
{
{ 0, 2,1,1}}},{
{
{ 1, 2,1,1}}},{
{
{ 2, 2,1,1}}} }; /// /// * /// * /// * ///**** /// public int[, , ,] split1x7 = new int[,,,] { {
{
{ 0, 0,3,3 }}},{
{
{
3,0,1,1}}}, {
{
{
3,1,1,1}}}, {
{
{
3,2,1,1}}}, {
{
{ 0, 3,1,1 }}},{
{
{
1,3,1,1}}},{
{
{ 2, 3,1,1 }}},{
{
{
3,3,1,1}}} }; /// /// *** /// *** /// *** /// public int[, , ,] split3x3 = new int[,,,] { {
{
{ 0, 0,1,1 }}},{
{
{
1,0,1,1}}},{
{
{ 2, 0,1,1 }}}, {
{
{ 0, 1,1,1 }}},{
{
{
1,1,1,1}}},{
{
{ 2, 1,1,1 }}}, {
{
{ 0, 2,1,1 }}},{
{
{
1,2,1,1}}},{
{
{ 2, 2,1,1 }}}, {
{
{ 0, 3,1,1 }}},{
{
{
1,3,1,1}}},{
{
{ 2, 3,1,1 }}} }; /// /// * * /// * * /// **** /// **** /// public int[, , ,] split2x8 = new int[,,,] { {
{
{ 0, 0,1,1 }}},{
{
{
1,0,2,2}}},{
{
{
3,0,1,1}}}, {
{
{ 0, 1,1,1 }}},{
{
{
3,1,1,1}}}, {
{
{ 0, 2,1,1 }}},{
{
{
1,2,1,1}}},{
{
{ 2, 2,1,1 }}},{
{
{
3,2,1,1}}}, {
{
{ 0, 3,1,1 }}},{
{
{
1,3,1,1}}},{
{
{ 2, 3,1,1 }}},{
{
{
3,3,1,1}}} }; /// /// **** /// * * /// * * /// **** /// public int[, , ,] split1x8 = new int[,,,] { {
{
{ 0, 0,1,1 }}},{
{
{
1,0,1,1}}},{
{
{ 2, 0,1,1 }}},{
{
{
3,0,1,1}}}, {
{
{ 0, 1,1,1 }}},{
{
{
1,1,2,2}}},{
{
{
3,1,1,1}}}, {
{
{ 0, 2,1,1 }}},{
{
{
3,2,1,1}}}, {
{
{ 0, 3,1,1 }}},{
{
{
1,3,1,1}}},{
{
{ 2, 3,1,1 }}},{
{
{
3,3,1,1}}} }; /// /// **** /// **** /// **** /// **** /// public int[, , ,] split4x4 = new int[,,,] { {
{
{ 0, 0,1,1 }}},{
{
{
1,0,1,1}}},{
{
{ 2, 0,1,1 }}},{
{
{
3,0,1,1}}}, {
{
{ 0, 1,1,1 }}},{
{
{
1,1,1,1}}},{
{
{ 2, 1,1,1 }}},{
{
{
3,1,1,1}}}, {
{
{ 0, 2,1,1 }}},{
{
{
1,2,1,1}}},{
{
{ 2, 2,1,1 }}},{
{
{
3,2,1,1}}}, {
{
{ 0, 3,1,1 }}},{
{
{
1,3,1,1}}},{
{
{ 2, 3,1,1 }}},{
{
{
3,3,1,1}}} };

最后分屏的代码也很简单

///         /// 显示分屏        ///         /// 行        /// 显示样式        public void ShowControl(int row, int[, , ,] value)        {            //this.row = row;            //array = value;            this.Controls.Clear();            int itemWidth = this.Width / row;            int itemHeight = this.Height / row;            // int length = value.Length == 4 ? value.Length : value.Length / 2;            for (int i = 0; i < value.Length / 4; i++)            {                PlayItem item = new PlayItem() { Width = itemWidth * value[i, 0, 0, 2], Height = itemHeight * value[i, 0, 0, 3] };                item.Location = new Point(value[i, 0, 0, 0] * itemWidth, value[i, 0, 0, 1] * itemHeight);                this.Controls.Add(item);            }        }

再来几张图片吧

本来想把示例上传上来的但找不到地方:(

转载于:https://www.cnblogs.com/Noproblem/archive/2013/06/06/3122982.html

你可能感兴趣的文章
综述:人工智能、数据科学、机器学习
查看>>
SQL
查看>>
c# 下载网页图片
查看>>
虚拟机上网配置
查看>>
Know More about Oracle PGA Memory
查看>>
LNMP服务跨省迁移的解决方案
查看>>
sigar模块之python api简单的使用--获取cpu信息
查看>>
iptables的状态检测机制
查看>>
Go语言之嵌入类型
查看>>
PIX7.0软件的安装及ASDM可视化管理软件的安装
查看>>
python中os.listdir的排序问题
查看>>
tomcat配置安装1
查看>>
web安全---Token
查看>>
接口规范 11. 串流相关接口
查看>>
zebra 安装失败
查看>>
CCNA配置试验之四 OSPF协议的配置
查看>>
Windows ThinPC 最终版已 RTM
查看>>
nmon性能监控
查看>>
SpringMVC懒加载导致的问题一则
查看>>
Tips of ACWS Framework
查看>>