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

做著名建筑物网站简介2022网页游戏大全

做著名建筑物网站简介,2022网页游戏大全,wordpress coreseek,揭阳网站建站网站这段代码实现了一个简单的图像标注工具#xff0c;允许用户在加载的图像上进行点选标注#xff0c;并且通过右键确认一个点序列来形成一个多边形。 标注效果如下 实现代码如下 !DOCTYPE html html langen headmeta charsetU…这段代码实现了一个简单的图像标注工具允许用户在加载的图像上进行点选标注并且通过右键确认一个点序列来形成一个多边形。 标注效果如下 实现代码如下 !DOCTYPE html html langen headmeta charsetUTF-8titleImage Annotation/titlestylecanvas {border: 1px solid black; /* 给画布添加边框 */}/style /head body!-- 文件输入控件 -- input typefile idfile-input !-- 用于显示图像和标注的画布 -- canvas idimage-canvas/canvasscriptconst fileInput document.getElementById(file-input); // 获取文件输入元素const canvas document.getElementById(image-canvas); // 获取画布元素const ctx canvas.getContext(2d); // 获取画布的2D渲染上下文let drawing false; // 标记是否正在绘图let ix -1, iy -1; // 当前鼠标位置的坐标let points []; // 当前正在绘制的点列表let pointList []; // 已完成的点列表// 当选择文件时触发fileInput.addEventListener(change, function (event) {const file event.target.files[0]; // 获取选择的文件const reader new FileReader(); // 创建文件读取器// 文件读取完成后执行reader.onload function (event) {const img new Image(); // 创建图像对象img.src event.target.result; // 将读取的数据赋值给图像源// 图像加载完成后执行img.onload function () {canvas.width img.width; // 设置画布宽度为图像宽度canvas.height img.height; // 设置画布高度为图像高度ctx.drawImage(img, 0, 0); // 在画布上绘制图像};};reader.readAsDataURL(file); // 开始读取文件});// 右键菜单处理canvas.addEventListener(contextmenu, (event) {event.preventDefault(); // 阻止默认的右键菜单// 创建自定义菜单const menu document.createElement(div);menu.style.position absolute;menu.style.left event.clientX px;menu.style.top event.clientY px;menu.style.backgroundColor white;menu.style.border 1px solid black;// 清空画布菜单项const clearItem document.createElement(div);clearItem.textContent 清空画布;clearItem.style.padding 5px;clearItem.addEventListener(click, () {//ctx.clearRect(0, 0, canvas.width, canvas.height); // 清除画布// 恢复绘图状态ctx.restore();menu.remove(); // 移除菜单});//menu.appendChild(clearItem);// 复制坐标菜单项const copyItem document.createElement(div);copyItem.textContent 复制坐标;copyItem.style.padding 5px;copyItem.addEventListener(click, () {if (pointList.length 0) {navigator.clipboard.writeText(( pointList[pointList.length - 1].join(),() ));alert(坐标已复制到剪贴板);}menu.remove(); // 移除菜单});//menu.appendChild(copyItem);document.body.appendChild(menu); // 将菜单添加到页面return false;});// 鼠标按下事件canvas.addEventListener(mousedown, function (event) {if (event.button 0) { // 左键点击drawing true;[ix, iy] [event.offsetX, event.offsetY]; // 获取鼠标位置points.push([ix, iy]); // 添加到点列表drawCircle(ix, iy); // 绘制点drawText(ix, iy); // 绘制点坐标文本} else if (event.button 2) { // 右键点击if (points.length 1) {ctx.beginPath();ctx.moveTo(points[points.length - 1][0], points[points.length - 1][1]);ctx.lineTo(points[0][0], points[0][1]);ctx.strokeStyle green;ctx.lineWidth 2;ctx.stroke();pointList.push([...points]);console.log(points);//navigator.clipboard.writeText(( points.join(),() ));points [];}ctx.drawImage(canvas, 0, 0);}});// 鼠标抬起事件canvas.addEventListener(mouseup, function (event) {if (event.button 0) {drawing false;if (points.length 1) {ctx.beginPath();ctx.moveTo(points[points.length - 2][0], points[points.length - 2][1]);ctx.lineTo(points[points.length - 1][0], points[points.length - 1][1]);ctx.strokeStyle green;ctx.lineWidth 2;ctx.stroke();}ctx.drawImage(canvas, 0, 0);}});// 鼠标移出画布事件canvas.addEventListener(mouseout, function () {drawing false;});// 绘制点函数function drawCircle(x, y) {ctx.beginPath();ctx.arc(x, y, 3, 0, Math.PI * 2);ctx.fillStyle blue;ctx.fill();}// 绘制点坐标文本函数function drawText(x, y) {ctx.font 16px Arial;ctx.fillStyle red;let text ( x , y );ctx.fillText(text, x, y);}/script/body /html 代码中还包含了创建右键菜单的功能但相关的菜单项清空画布和复制坐标被注释掉了。如果想启用这些功能只需取消注释相应的代码行即可。 自己动手实现业务代码这只是代码片段具体实现还需要根据业务需要做相应的更改
http://www.dnsts.com.cn/news/106774.html

相关文章:

  • 广东做网站哪家公司好公司官网首页设计
  • 数学网站怎么做的六安市 网站集约化建设
  • 南平购物网站开发设计免费下载设计素材网站
  • 网站推广排名怎么做wordpress漂浮框
  • 呼和浩特建设厅官方网站查询企业的软件
  • 网上书城网站建设总结怎么样做企业网站
  • 网站建设技术服务清单网站换域名做301
  • 地产公司做网站维护写代码么6A华企网络网站建设
  • 建设部质量监督官方网站wap企业网站
  • 池州网站制作哪家好南阳微网站制作
  • 做前端网站考虑兼容分辨率一个手机网站
  • 龙岩做网站开发价格表白网页生成器
  • 贵阳网站建设包首页青岛网络营销推广
  • 网站取消备案定制v软件免费下载
  • 宁波电子商务网站建设wordpress 插件问题
  • 成都犀牛网站建设公司想做个外贸网站
  • 一起做彩票网站的人郑州老牌做企业网站
  • 企业免费推广网站长春地区网站建设
  • 廊坊建设网站的公司备案号查询网站网址
  • 网站服务器如何做端口映射wordpress标题省略
  • 制作网站的固定成本网站加盟代理
  • 廊坊建手机网站国外做网站推广
  • 南阳网站排名公司网站建设渠道合作
  • 网站网页制作的公司巨量算数官方入口
  • 模板网站和定制网站影响排名黑龙江交通基础设施建设网站
  • 百度网站结构珠海建站平台
  • 网站开发师培训招聘网站开发计划书
  • 管理信息系统网站建设陕西网站建设开发
  • asp网站介绍机械配件东莞网站建设
  • 傻瓜建站四川建设网有限责任公司是国企吗