海康web3.0控件实现在摄像头窗口多边形绘图

海康web3.0控件实现在摄像头窗口多边形绘图

1、设置多边形播放模式

/*
 * eanbleDraw函数
 * webVideoCtrl:初始化后的控件对象
 * iWndIndex :窗口索引
 * 注:预览模式表示禁用多边形绘图,多边形模式表示启用多边形绘图
 */
function eanbleDraw() {
	let iWndIndex = 0;
	let oWndInfo = webVideoCtrl.I_GetWindowStatus(iWndIndex ); // 获取当前窗口的信息
	if(oWndInfo != null) {
		let iRect = webVideoCtrl.I_SetPlayModeType(6);// 设置播放模式:0-预览模式、6-多边形模式
		if( iRect === 0) {
			console.log('启用多边形绘图成功');
			addPolygon();
		}
	}
}

2、绘制多边形图形

/*
 * addPolygon: 根据坐标点绘制图形
 * 注:坐标点是窗口长宽标准化后的数据(0-1),连线避免交叉
 */
function addPolygon() {
	let iWndIndex = 0;
	let oWndInfo = webVideoCtrl.I_GetWindowStatus(iWndIndex );
	if(oWndInfo != null ){
		let szInfo = "<?xml version='1.0' encoding='utf-8'?>"+
					+"<SnapPolygonList>"+
						// 多变形图形1
						+"<SnapPolygon>"+
							+"<id>1</id>"+ //  id: 1-32
							+"<polygonType>1</polygonType>"+
							+"<PointNumMax>17</PointNumMax>"+ 
							+"<MinClosed>4</MinClosed>"+ 
							+"<tips>1#name</tips>"+ // 图形提示内容
							+"<isClosed>true</isClosed>"+ // 是否闭合, false可用鼠标在窗口自主绘制
							+"<color><r>0</r><g>255</g><b>255</b></color>"+ // 多边形边框颜色
							// 多边形坐标点集合, 坐标点注意排序,坐标点连线避免交叉
							+"<pointList>"+
								+"<point><x>0</x><y>0</y></point>"+
								+"<point><x>1</x><y>0</y></point>"+
								+"<point><x>0.5</x><y>0.5</y></point>"+
							+"</pointList>"+
						+"</SnapPolygon>"+
						
						// 多边形图形2
						+"<SnapPolygon>"+
							+"<id>2</id>"+ // [1, 32]
							+"<polygonType>1</polygonType>"+
							+"<PointNumMax>17</PointNumMax>"+ // [MinClosed, 17]
							+"<MinClosed>4</MinClosed>"+ // [4, 17]
							+"<tips>2#name</tips>"+
							+"<isClosed>true</isClosed>"+
							+"<color><r>0</r><g>255</g><b>255</b></color>"+
							+"<pointList>"+
								+"<point><x>0.353754</x><y>0.551095</y></point>"+
								+"<point><x>0.823123</x><y>0.543796</y></point>"+
								+"<point><x>0.430330</x><y>0.316788</y></point>"+
							+"</pointList>"+
						+"</SnapPolygon>"+
					+"</SnapPolygonList>";
					
		// 设置多边形信息-iWndIndex:窗口索引,szInfo:XML 数据,一个或多个多边形
        let iRect = webVideoCtrl.I_SetSnapPolygonInfo(iWndIndex, szInfo); 
        if(iRect === 0) {
        	console.log('绘制成功');
        }else if(iRect == -1) {
        	console.log('绘制失败');
        }else if(iRect == -2) {
        	console.log('参数错误');
        }else if(iRect == -3){
        	console.log('图形个数达到上限');
        }else if(iRect == -4){
        	console.log('图形已存在');
        }
		// 设置绘图模式- 绘图模式:-1-停止绘制,2-添加多边形,3-编辑多边形
        webVideoCtrl.I_SetSnapDrawMode(iWndIndex ,2); 
	}
}

3、效果展示
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 海康Web3.0无插件版和插件版本是海康威视公司为了满足不同用户需求而提供的两种不同版本的软件产品。 首先,两个版本的最大区别是在插件的需求上。无插件版是指用户在使用软件功能时,无需额外安装任何插件或扩展程序,可以直接在浏览器中通过Web应用程序访问和使用。而插件版本需要用户在使用前安装特定的插件或扩展程序,这些插件提供了额外的功能和特性。 其次,两个版本在软件功能和性能方面也存在一些差别。无插件版相对简洁,功能较为基本,主要适用于简单视频监控和设备管理等基本需求。而插件版本具有更强大的功能和扩展性,可以支持更多复杂的操作和应用场景,如视频智能分析、云存储等高级功能。 另外,两个版本在用户体验和兼容性方面也有所不同。无插件版通过Web技术实现,用户可以通过不同的浏览器访问和使用,具有较好的兼容性和跨平台性。而插件版本可能会受限于特定的操作系统和浏览器,兼容性相对较差。 综上所述,海康Web3.0无插件版和插件版本之间的区别主要在于插件需求、功能和性能、用户体验和兼容性等方面。用户可以根据自己的实际需求和环境选择相应的版本,以便更好地满足其监控和管理需求。 ### 回答2: 海康Web3.0是海康威视面向安防行业推出的一款网络连接技术平台。无插件版和插件版本是其两种不同的形态。 无插件版是指在使用海康Web3.0技术时,无需安装任何插件或软件,直接通过浏览器即可访问和使用。这种形态下,用户可以在任何支持HTML5的浏览器中使用海康Web3.0的功能,无需考虑插件的安装和更新,使用更加方便灵活。 插件版本是指在使用海康Web3.0技术时,需要安装相应的插件或客户端软件。这种形态下,用户需要事先安装插件或客户端软件,并根据实际需要进行升级和更新。插件版本可能提供更多的功能和复杂的操作,但对于用户而言,可能需要付出更多的时间和精力来进行插件的安装和管理。 总的来说,无插件版相对于插件版本,具有更低的使用门槛和更好的兼容性。用户可以更便捷地在多种平台和设备上使用,不用担心不同插件的冲突和更新问题。而插件版本则可能提供更多高级功能和更复杂的操作方式,适用于对功能需求较高的用户。在选择使用哪个版本时,需要根据实际需求、环境和设备来进行权衡和选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值