物理布局:

显示布局:

  • 从tag点读取出来
  • 解析tag点的值,得到每个物理屏幕的信息
  • 每个物理屏幕会给出分割信息(1*1,2*2,4*4),根据这个内容显示每个物理屏幕的样式,还要显示每个格子的信号源。信号源显示通过关联tag实现
  • 一个分割tag点名:
    • 读取当前的分割模式tag点:TV0Splitstyle,
    • 读到的类型会有:1:一分割,4:4分割,16:16分割:2000:自由分割
    • 如果处于自由分割,再读窗口数tag点:TV0WindowNum,得到当前窗口数量
    • 如果处于1,4,16等固定分割,窗口数就是分割数;
  • 一个分割tag点值:
    • 每一个窗口都有两个点存布局:
      • tag点:TV0Window0Source存的是信号源,string类型,直接显示出来
      • tag点:TV0Window0Rect 存的是窗口的大小,json格式,例如:{"bottom":8192,"left":0,"right":8192,"top":0}
  • 每个分割单元是一个tag点,数量:16*16*4=112个
  • tag点名规则:
  • tag点样例:

设置物理屏分割模式:

  • 点击分割按钮,选择分割模式设置物理屏为几分割还是自由分割
  • 一个tag点名字:dwcontrol
  • tag点内容格式:{"type":7,"nTVID":241,"splitnum":4}
  • json格式:控制类型(1-7),控制0号屏的通道号(通过tag点TV0ID查出),分割方式(1,4,16,2000)

物理屏处于固定分割下设置某个显示单元到信号源:

  • 显示一个显示单元(物理屏的某个分割单元)
  • 再单击树上的信号源
  • 写入tag点的值给大屏幕
  • 一个tag点,tag点名:dwcontrol
  • tag点值:{"type":3,"nTVID":241,"nWindow":1,"ip":"172.16.3.67","channelID":0,"channelmax":1}
    • json格式:控制类型,控制0号屏的通道号(通过tag点TV0ID查出),现在在哪个窗口,信号源ip,信号源通道号(默认0),信号源通道数(默认1)(以后需要通过信号源类型是ipc还是nvr来传通道号通道数)


物理屏处于自由分割下才可以开窗:

  • 一个tag点名字:dwcontrol
  • tag点内容格式:{"type":1,"nTVID":241,"x1":0,"y1":0,"x2":8192,"y2":8192,"ip":"172.16.3.67","channelID":0,"channelmax":1}
  • json格式:控制类型,控制0号屏的通道号(通过tag点TV0ID查出),窗口大小坐标和设置信号源ip,信号源通道号(默认0),信号源通道数(默认1)(以后需要通过信号源类型是ipc还是nvr来传通道号通道数)

可用预案

  • 从驱动的tag点,解析得到预案名称列表
  • 显示到下拉框中读取的预案名称列表。
  • 一个tag点存储所有预案
  • tag点名称:
    • tag点:planName存放所以预案名称,名称按照英文:分割
  • tag点实际数据示例:“预案1:预案2:预案3”

应用预案

  • 选择已有预案中的某个预案
  • 将tag点写入选中的预案名称
  • 一个tag点名:dwcontrol
  • tag写入的值的示例:{"type":4,"name":"预案二"}

保存预案

  • 点击保存预案,输入名称
  • 点击保存,将内容写入tag点
  • 一个tag点名字:dwcontrol
  • tag点内容格式:{"type":5,"name":"预案二"}

重命名预案

  • 选择某个预案,选择重命名,输入名称
  • 点击保存,将内容写入tag点
  • 一个tag点名字:dwcontrol
  • tag点内容格式:{"type":6,"newname":"预案一","oldname":"预案二"}

显示布局:


  • 无标签