当前位置: 首页 > news >正文

用网页显示工控仪表

一.起因

现在工控也越来越多的使用web页面来显示电压,电流,温度,转速等物理量.本例使用js控制网页显示速度仪表.

二.代码

<html>
<head><script type="text/javascript">var ctx;var px0;var movePoint={x0:0,x1:0};function init(){drawFace();movePoint.x0=30;movePoint.x1=30;px0=movePoint.x1;         drawPoint(movePoint);}function drawFace(){var c=document.getElementById("myCanvas");ctx=c.getContext("2d");ctx.lineWidth=3;ctx.strokeStyle="#FFFFFF";ctx.fillStyle="#FFFFFF";ctx.beginPath();ctx.arc(150,150,100,4/6*Math.PI,2/6*Math.PI);for (i=0;i<=300;i=i+10){x1=150+100*Math.cos((i+120)/180*Math.PI);y1=150+100*Math.sin((i+120)/180*Math.PI);ctx.moveTo(x1,y1);x=150+95*Math.cos((i+120)/180*Math.PI);y=150+95*Math.sin((i+120)/180*Math.PI);ctx.lineTo(x,y);}      ctx.font="11px 宋体";for (i=0;i<=300;i=i+20){x=143+85*Math.cos((i+120)/180*Math.PI);y=150+85*Math.sin((i+120)/180*Math.PI);ctx.fillText(i,x,y);} ctx.stroke();}function drawPoint(movePoint){//抹旧针if (movePoint.x0!=movePoint.x1){   ctx.beginPath();ctx.strokeStyle="#000000";ctx.lineWidth=4;            var y=150+91*Math.sin((movePoint.x0+120)/180*Math.PI);var x=150+91*Math.cos((movePoint.x0+120)/180*Math.PI);ctx.moveTo(150,150);ctx.lineTo(x,y);ctx.stroke();ctx.beginPath();ctx.font="11px 宋体";ctx.fillStyle="#FFFFFF";ctx.strokeStyle="#FFFFFF";var i=Math.round( movePoint.x0/20);var iP1=i*20;x=143+85*Math.cos((iP1+120)/180*Math.PI);y=150+85*Math.sin((iP1+120)/180*Math.PI);ctx.fillText(iP1,x,y);ctx.stroke();           }        ctx.beginPath();ctx.strokeStyle="#FFFFFF";ctx.fillStyle="#FFFFFF";ctx.lineWidth=3;movePoint.x0=movePoint.x1;y=150+90*Math.sin((movePoint.x0+120)/180*Math.PI);x=150+90*Math.cos((movePoint.x0+120)/180*Math.PI);ctx.moveTo(150,150);ctx.lineTo(x,y);ctx.stroke();}function pointMove(){movePoint.x0=px0;movePoint.x1=px0;movePoint.x1+=5;if (movePoint.x1>296){movePoint.x1=0;}drawPoint(movePoint);px0=movePoint.x1;}</script>
</head>
<body onload="init()"><canvas id="myCanvas" width="300" height="300" style="border:1px solid #130013;background-color:black">Your browser does not support the HTML5 canvas tag.</canvas><br/><input id="b1" type="button" onclick="pointMove()" value="指针转"/></body>
</html>

三.显示效果

http://www.xdnf.cn/news/289891.html

相关文章:

  • Barrett Reduction算法优化:更紧的界限消除冗余的减法
  • 迅睿CMS导入别站数据库
  • 【瞎折腾/mi50 32G/ubuntu】mi50显卡ubuntu运行大模型开坑(二)使用llama.cpp部署Qwen3系列
  • 卡尔曼滤波详解
  • 从Excel到高级工具:数据分析进阶指南
  • # 部署深度学习模型:Flask API 服务端与客户端通信实战
  • Linux进程间的通信
  • Node.js 是什么?
  • docker 外部能访问外网,内部不行(代理问题)
  • SQL常见误区
  • 如何扫描系统漏洞?漏洞扫描的原理是什么?
  • 【MCP Node.js SDK 全栈进阶指南】专家篇(1):MCP-SDK扩展与定制
  • Dify本地 + vllm + Qwen
  • 走出 Demo,走向现实:DeepSeek-VL 的多模态工程路线图
  • 协议(消息)生成
  • qt csv文件写操作
  • 3.5/Q1,GBD数据库最新一区文章解读
  • P3246 [HNOI2016] 序列 Solution
  • 项目生成日志链路id,traceId
  • 数据库的二级索引
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】4.4 异构数据源整合(CSV/JSON/Excel数据导入)
  • 数据结构小扫尾——栈
  • BUUCTF 大流量分析(一) 1
  • 比较两种判断相同二叉树的方法:递归与遍历序列对比
  • 湖北理元理律师事务所:债务法律服务的民生价值重构
  • brep2seq kaggle安装 micromamba conda环境
  • 政务服务智能化改造方案和案例分析
  • QT6 源(79):阅读与注释表盘 QDial 的源码,其是基类QAbstractSlider 的子类,及其刻度线的属性举例
  • 深入理解 CSS Flex 布局:代码实例解析
  • 【Hive入门】Hive安全管理与权限控制:基于SQL标准的授权GRANT REVOKE深度解析