vue怎么使用js对图片进行点击标注圆点并记录它的坐标
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍"vue怎么使用js对图片进行点击标注圆点并记录它的坐标"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"vue怎么使用js对图片进行点击标注圆点
千家信息网最后更新 2025年01月18日vue怎么使用js对图片进行点击标注圆点并记录它的坐标
这篇文章主要介绍"vue怎么使用js对图片进行点击标注圆点并记录它的坐标"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"vue怎么使用js对图片进行点击标注圆点并记录它的坐标"文章能帮助大家解决问题。
功能
点击开始标注按钮后才可以对图片进行标注
在图片区域内单机左键才可进行加点
在标注点上右击删除该点,在图片上右击无效果
完成标注后点击完成标注按钮后,结束标注,此后点击图片不再加点
标注前
标注后
打印记录坐标点
这个坐标看你自己需求,是相对图片的百分比坐标,还是相对整个窗口的坐标,js都可以实现的
代码实现
我先说一说关键功能实现的js代码(里面涉及了date的数据,所以需要看下后面的全部代码实现),后面就是全部代码
判断鼠标是否右击
if(e.button !== 2) //判断鼠标是否右击
阻止冒泡行为和默认右键菜单事件
document.getElementById('myBiaoZhu').oncontextmenu=((e)=>{ if(e && e.preventDefault) { //阻止默认浏览器动作(W3C) e.preventDefault() } else { //IE中阻止函数器默认动作的方式 window.event.returnValue = false } return false }) //阻止冒泡行为和默认右键菜单事件
给图片加点击事件
document.getElementById('myBiaoZhu').onmousedown=(e)=>{ e = e || window.event if(e.button !== 2){ //判断是否右击 if(this.canBiaoZhu){ //判断是否可以进行标注 var x = e.offsetX || e.layerX var y = e.offsetY || e.layerY console.log(x,y) var myImg = document.querySelector("#myBiaoZhu") var currWidth = myImg.clientWidth var currHeight = myImg.clientHeight var ProportionWidthInImg = x/currWidth var ProportionHeightInImg = y/currHeight // console.log("图片比例高度:"+ProportionHeightInImg) // console.log("图片比例宽度:"+ProportionWidthInImg) this.banMa.push({ id:this.banMa.length+1, x, y }) this.createMarker(x,y) } } }
画点
createMarker(x, y) { var div = document.createElement('div') div.className = 'marker' div.id = 'marker'+this.banMa.length y = y + document.getElementById('myBiaoZhu').offsetTop - this.pointSize/2 x = x + document.getElementById('myBiaoZhu').offsetLeft - this.pointSize/2 div.style.width = this.pointSize + 'px' div.style.height = this.pointSize + 'px' div.style.backgroundColor = this.pointColor div.style.left = x + 'px' div.style.top = y + 'px' div.oncontextmenu=((e)=>{ //阻止冒泡行为和默认右键菜单事件,同时删除该点 var id = e.target.id document.getElementById('myBiaoZhuDiv').removeChild(div) this.banMa = this.banMa.filter(item=>item.id!= id.slice(6,id.length)) if(e && e.preventDefault) { //阻止默认浏览器动作(W3C) e.preventDefault() } else { //IE中阻止函数器默认动作的方式 window.event.returnValue = false } return false }) document.getElementById('myBiaoZhuDiv').appendChild(div) },
html:
开始标注 标注完成
css:
js:
关于"vue怎么使用js对图片进行点击标注圆点并记录它的坐标"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
图片
动作
坐标
事件
菜单
行为
代码
函数
方式
比例
浏览器
浏览
圆点
知识
功能
宽度
按钮
行业
高度
鼠标
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江苏通用软件开发现价
数据库无
部队网络安全宣传图
opcua可以使用什么数据库
关系数据库高中信息技术
服务器创建角色已关闭什么意思
手机网络安全防护怎么关
网络安全职业技术学院是大专吗
重庆服务器机柜批发虚拟主机
网络对数据库的影响
什么是幼儿园网络安全教育
广东服务器机柜怎么挑选
网络安全华为项目
汽车远程服务器多少钱
数据库教学
信息与网络安全概论阅读
手机远程服务器繁忙怎么办
数据库问题要怎么解决
查询数据库中id相等的数量
服务器异常启动
视频平台软件开发
济南软件开发岗位多吗
山西智能软件开发在线咨询
软件开发主要是干什么
移动光猫的网关和服务器
中兴服务器出货量
delphi 文本 数据库
海康威视终端服务器尺寸
视频聊天软件开发怎样做
河北新一代网络技术分类产品介绍