高拍仪二次开发(支持文豆高拍仪+谷歌火狐浏览器)

简介: 直接可以调用样例并参照接口函数删减功能,最后写存储就行,简单易用。
<!-- 引入文豆高拍仪JS接口--><scriptsrc="wdgpy.js"type="text/javascript"charset="utf-8"></script><scriptsrc="upload.js"type="text/javascript"></script><scripttype="text/javascript">varfileBase64Str="";
varfile_path="";
//时间格式化显示functionformatDate(time) {
vardate=newDate(time);
varyear=date.getFullYear(),
month=date.getMonth() +1, 
day=date.getDate(),
hour=date.getHours(),
min=date.getMinutes(),
sec=date.getSeconds();
varnewTime=year+                    (month<10?'0'+month : month) +                    (day<10?'0'+day : day) +                    (hour<10?'0'+hour : hour) +                    (min<10?'0'+min : min) +                    (sec<10?'0'+sec : sec) ;
returnnewTime;
    }
functionsleep(milliSeconds) {
varstartTime=newDate().getTime();
while (newDate().getTime() <startTime+milliSeconds);
    }
functionShowInfo(op) {
varobj=document.getElementById("TextInfo");
obj.value=obj.value+"\r\n"+op    }
/*----------------------------------------------------    ---返回获取的设备数目及设备名称  ---    -----------------------------------------------------*/functionGetDevCountAndNameResultCB(devCount, devNameArr) {
if (devCount>0) {
varobj=document.getElementById("DevName");
obj.options.length=0;
for (vari=0; i<devCount; i++) {
varobjOption=document.createElement("option");
objOption.text=devNameArr[i];
objOption.value=i;
obj.options.add(objOption);
            }
obj.selectedIndex=0;
varCamID=obj.selectedIndex;
//获取分辨率Cam_GetDevResolution(CamID);  
        }
else {
ShowInfo("没有发现合适的设备!");
         }
</script>

首先引入高拍仪js接口。

然后根据需求对照函数对功能进行删减。

functionreleaseSocketPro() {
vardata=JSON.stringify({ 'function': 'releaseSocketPro' });
connected?sendMessage(data) : ConnectServer(sendMessage, data)
}
window.onbeforeunload=function () {
Cam_Close();  //关闭高拍仪try {
releaseSocketPro();   
websocket.close();
websocket=null;
    }
catch (ex) {
    }
};
function$(id) {
returndocument.getElementById(id);
}
functiontoSleep(milliSeconds) {
varstartTime=newDate().getTime();
while (newDate().getTime() <startTime+milliSeconds);
}
functionaddEvent(obj, xEvent, fn) {
if (obj.attachEvent) {
obj.attachEvent('on'+xEvent, fn);
    } else {
obj.addEventListener(xEvent, fn, false);
    }
}
functionInitCanvas(DivMainBox, mX, mY, mwidth, mheight) {
if (mwidth!=0&&mheight!=0) {
MainCanvas=document.createElement("canvas");
MainCanvas.style.border="solid 1px #A0A0A0";
MainCanvas.id="MainCamCanvas";
MainCanvas.width=mwidth;
MainCanvas.height=mheight;
MainContext=MainCanvas.getContext("2d");
DivMainBox.appendChild(MainCanvas);      //添加画布MainCanvas.onmousedown=MainCanvasMouseDown;
MainCanvas.onmousemove=MainCanvasMouseMove;
MainCanvas.onmouseup=MainCanvasMouseUp;
MainCanvas.onmouseout=MainCanvasMouseOut;
addEvent(MainCanvas, 'mousewheel', onMouseWheel);
addEvent(MainCanvas, 'DOMMouseScroll', onMouseWheel);
    }
}

示例demo截图

0000000.jpg

目录
相关文章
|
存储 安全 数据安全/隐私保护
VMware16安装Win11虚拟机(最全步骤+踩坑)
VMware16安装Win11虚拟机(最全步骤+踩坑)
11315 0
VMware16安装Win11虚拟机(最全步骤+踩坑)
|
9月前
|
数据采集 资源调度 JavaScript
极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图
本文介绍了使用 Vue Flow 绘制流程图的方法与技巧。Vue Flow 是一个灵活强大的工具,适合自定义复杂的流程图。文章从环境要求(Node.js v20+ 和 Vue 3.3+)、基础入门案例、自定义功能(节点与连线的定制、事件处理)到实际案例全面解析其用法。重点强调了 Vue Flow 的高度灵活性,虽然预定义内容较少,但提供了丰富的 API 支持深度定制。同时,文中还分享了关于句柄(handles)的使用方法,以及如何解决官网复杂案例无法运行的问题。最后通过对比 mermaid,总结 Vue Flow 更适合需要高度自定义和复杂需求的场景,并附带多个相关技术博客链接供进一步学习。
【正则表达式】正则表达式同时支持验证手机号码和座机号码
【正则表达式】正则表达式同时支持验证手机号码和座机号码
|
SQL 缓存 网络协议
有哪些常见的网络攻击类型?
【8月更文挑战第15天】
780 0
|
消息中间件 测试技术 领域建模
DDD - 一文读懂DDD领域驱动设计
DDD - 一文读懂DDD领域驱动设计
45637 6
|
网络协议
UDP服务器的并发方案
UDP服务器的并发方案
283 0
|
网络架构 芯片 内存技术
TP_Link WR886N 硬改闪存16M内存64M,刷入openwrt
TP_Link WR886N 硬改闪存16M内存64M,刷入openwrt
728 1
|
Web App开发 数据安全/隐私保护
文献管理Zotero使用方法介绍
本文介绍文献管理软件Zotero的基础使用方法,包括软件下载与安装、文献与PDF导入、在Word中插入参考文献等的方法~
953 1
文献管理Zotero使用方法介绍
|
Web App开发 JavaScript 网络协议
推荐一款 Postman 的开源替代品: Postwoman
推荐一款 Postman 的开源替代品: Postwoman
11872 1
推荐一款 Postman 的开源替代品: Postwoman
|
JSON API 数据中心
K/3 Cloud Web API接口说明文
K/3 Cloud Web API接口说明文 目的 三方集成,提供第三方系统与Cloud集成调用接口。   技术实现 HTTP + Json   提供标准接口   编号 名称 说明 1 Kingdee.
2656 0