HTML 在画布中对图片,图片上另一个图层上的点,根据点绘制的路线进行缩放1

html img热区坐标根据屏幕大小自适应 //根据分辨率自适应热区坐标         function changeCoords(){             var width = document.body.offsetWidth;             var height = document.body.offsetHeith;             if (1920 == width) return;       阅读详情

之前已经讲过根据点绘制路线,以及不包括路线的缩放,故不多讲这些。

1 首先是画路线,这个不再说了

2 使用Button进行缩放

由于放大,缩小一样,所以只讲缩小

因为之前绘制了路线,在进行缩放时,需要清除路线,重新绘制

         function Small() {
          var width1 = $("#ImgMap").width() / 1.2;
        var height1 = $("#ImgMap").height() / 1.2;
          $("img").attr("width", width1);
         $("img").attr("height", height1);
          var lstMapPoint = $(".MapPoint");
          var i = 1;
          var x1, y1, x2, y2;
         CleanLine(width1, height1);
         for (i = 0; i < lstMapPoint.length; i++) {
             x1 = $($(".MapPoint").eq(i)).css("left");
             y1 = $($(".MapPoint").eq(i)).css("top");
               $(".MapPoint").eq(i).css("left", parseInt(x1) / 1.2);
             $(".MapPoint").eq(i).css("top", parseInt(y1) / 1.2);
          }
         alert(2);
           LoadLine();//上一篇已经讲过绘制路线,这里不再贴出来代码了
       }

        //清除路线
        function CleanLine(width, height) {
            var canvas = $("#myCanvas");
            canvas.attr("width", width);
            canvas.attr("height", height);
            var canvas = document.getElementById("myCanvas");
            var ctx = canvas.getContext('2d');
            ctx.clearRect(0, 0, width, height);//主要是这一句
        }

2 使用滚轮进行缩放

由于事先方式和第一篇是完全一样的,所以不讲了

3使用下拉框

(1)定义下拉框

    <div class="Toolbar_SearchBox" style="width:250px;margin-right:450px">
        <div class="input-group">
            <span class="input-group-addon">比例</span>
            <select class="form-control " id="Part" name="Part" onchange="Change()">
                <option id="select" selected="selected" value=""></option>
                <option value="1">20%</option>
                <option value="2">50%</option>
                <option value="3">70%</option>
                <option value="4">100%</option>
                <option value="5">150%</option>
                <option value="6">200%</option>
                <option value="7">300%</option>
                <option value="8">400%</option>
            </select>
        </div>
    </div>

(2)缩放

 

//通过下拉菜单调整图片大小
        var y = false;
        var width = 0;
        var height = 0;//必须赋值
        var StatusChange = 1;
        var Status = 0;
        var newv = 1;
        function Change() {
            var v = $("#Part option:selected").text();
            Status = newv;
            newv = v.replace(/%/, "");//当前比例
            newv = newv / 100;
            //alert(Status);
            StatusChange = newv / Status;//当前与上一次的比值
            if (y == false) {
                width = $("#ImgMap").width();
                height = $("#ImgMap").height();
                y = true;
            }
            var lstMapPoint = $(".MapPoint");
            width1 = width * newv;
            height1 = height * newv;
            CleanLine(width1, height1);
            $("img").attr("width", width1);
            $("img").attr("height", height1);
            var i;
            var x1, x2, y1, y2;
            for (i = 0; i < lstMapPoint.length; i++) {
                x1 = lstMapPoint.eq(i).css("left");
                y1 = lstMapPoint.eq(i).css("top");
               lstMapPoint.eq(i).css("left", ((parseInt(x1) + 20) * StatusChange - 20) + "px");
                lstMapPoint.eq(i).css("top", ((parseInt(y1) + 20) * StatusChange - 20) + "px");
            }
           LoadLine();
        }

 

Android原生实现Google Maps两点导航路线绘制 在移动开发中,地图导航路线绘制是位置服务的核心能力之一,其本质是将地理坐标序列转化为可渲染的矢量路径。该过程涉及坐标校验、网络请求、JSON解析、线程调度与GPU渲染等多个技术环节,需兼顾精度、性能与兼容性。尤其在Android平台,Google Maps SDK与Directions API的协同使用存在诸多隐性约束,如地图初始化时机、Polyline宽度单位适配、坐标精度截断、geodesic大地线启用等关键原理。掌握这些底层机制,不仅能规避白屏、偏移、卡顿等高频线上问题,还可支撑实时交通叠加、多模式路 阅读详情

相关推荐

Android集成Google Maps实现真实道路导航路线绘制

在移动开发中,‘两点间路线绘制’常被误解为简单几何绘图,实则涉及地理坐标系统、道路拓扑建模与动态路径渲染等核心概念。其原理基于调用专业路线规划服务(如Google Directions API)获取带转向指令与真实道路走向的经纬度序列,再经坐标解码、屏幕适配、图层叠加等步骤完成高保真渲染。该技术具备精准定位、交互响应、缩放自适应等工程价值,广泛应用于物流调度、本地生活、出行服务等场景。本文聚焦 Android 平台下 Google Maps SDK 与 Directions API 的协同实践,深入解析 P

weixin_30514745的博客 331

php h5 to image,HTML_HTML5使用drawImage()方法绘制图像,一、绘制图像 使用drawImage()方 - phpStudy...

HTML5使用drawImage()方法绘制图像一、绘制图像使用drawImage()方法绘制图像。绘图环境提供了该方法的三个不同版本。drawImage(image,x,y) : 在canvas中(x,y)处绘制图片。drawImage(image,x,y,width,height) : 在canvas中(x,y)处绘制图片,并将其缩放到指定的宽度和高度。drawImage(image,sour...

weixin_33900697的博客 247

高德地图自定义图层实战:从零到一构建个性化地图

本文详细介绍了如何使用高德地图API从零开始构建自定义地图图层,包括获取开发权限、基础地图集成、自定义图层开发及性能优化技巧。通过实战案例展示如何实现个性化地图样式、动态数据可视化和室内地图解决方案,帮助开发者快速掌握高德地图自定义图层的核心技术。

weixin_30566063的博客 136

html实例教程 图片绘画,HTML5Canvas绘图实例教程

本文详细讲解如何利用HTML5 Canvas 绘图的详细教程,供Gxl网网友参考学习首先要注意: 元素不被一些老的浏览器所支持, 但被支持于Firefox 1.5+, Opera 9+, 新版本的Safari, Chrome, 以及Internet Explorer 9.需要先获得2D渲染上下文才能绘制元素var canvas = document.getElementById('canvas'...

weixin_26997697的博客 453

公共地图应用图层要素提取:基于 Python 的 bbox、缩放层级与聚类还原实战

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 23

HTML5 Canvas在线涂鸦画板与图像编辑功能开发

简介:HTML5 Canvas技术提供了一个Web绘图平台,允许开发者执行图形绘制和操作,实现了类似于Photoshop的在线编辑和涂鸦画板功能。通过JavaScript API,它支持创建基本图形元素和动态效果,并能够进行像素级别的图像处理,如亮度、对比度调整和滤镜应用。Canvas还支持事件监听,实现与用户的交互,并且能够保存和加载画作。此外,开发者通过优化策略如使用requestAnimationFrame和分块渲染来提高性能。

weixin_31715353的博客 1528

如何运用html在画布上画画,如何使用js在画布上绘制图形

在画布上,首先使用JavaScript的HTML DOM方法查找元素,在使用getContext()方法创建绘图对象,最后使用HTML DOM Canvas 对象的属性和方法绘制图形。HTML5元素创建的画布只是用来承载图形的,是一个容器;我们还必须使用脚本(通常是JavaScript)来实际动态的绘制图形。那么如何使用JavaScript在画布上绘制图形?本篇文章就给大家具体介绍一下,希望对你们...

weixin_42223120的博客 1387

html文件中动态画线

在静态页面里实现动态画线,图片拖动,线也跟着拖动。部分功能不全,请谅解!!!

10分钟认识jCanvas:让HTML5 Canvas变简单的终极jQuery插件完全指南

jCanvas 是一款轻量免费的 **jQuery 插件**,它的作用只有一个:把 HTML5 Canvas 变得超简单。原生 Canvas 需要处理上下文、坐标变换、事件碰撞检测等繁琐细节,而 jCanvas 把这些统统封装成了熟悉的 jQuery 链式语法——画图形、做动画、绑事件,一行一个方法就能搞定。本指南带你 10 分钟从零上手 jCanvas。 ## 一、jCanvas 是什么?为什

gitblog_00993的博客 221

AI驱动的数据完整性:ECC到S/4HANA迁移

在SAP ECC到S/4HANA的迁移过程中,数据完整性验证是最复杂且关键的挑战之一。本文介绍了一个全面的AI驱动的端到端数据完整性框架,用于对账事务数据并验证数百万条主数据记录和事务记录的完整性。该框架结合了模式映射、自然语言提示到SQL生成、基于LLM的解决方案、大规模数据对账的数据完整性工具、基于云的测试数据管理以及实时Power BI仪表板,为开发者提供了一个可重复、可扩展的工作流程,确保ERP迁移过程中的数据质量。

简简单单Onlinezuozuo 1172

Tailscale 自建 DERP 中继服务器

Tailscale自建DERP中继服务器

Accompagner的博客 4329

如何在AngularJS项目中快速集成地图?angularjs-google-maps核心功能详解

想要在AngularJS应用中快速集成Google地图吗?angularjs-google-maps是终极的解决方案!这个强大的AngularJS指令库让地图集成变得简单又快速,即使是初学者也能在几分钟内完成地图功能的添加。本文将为你详细解析angularjs-google-maps的核心功能和使用方法,帮助你快速掌握这个强大的工具。 ## 为什么选择angularjs-google-maps?

gitblog_01020的博客 724

全栈开发指南:从前端到后端的全面掌握

全栈开发人员(Full Stack Developer)是指能够处理前端和后端开发工作的开发人员。他们需要掌握各种技术和工具,能够独立完成从需求分析、设计、开发到部署的整个流程。这篇博客将详细介绍全栈开发涉及的各个方面,为您提供从入门到进阶的指导。

Where there is a will, there is a way ! 3451

Leaflet 基础图形绘制实战指南 - 圆、线、矩形与多边形的实现技巧

本文是Leaflet基础图形绘制的实战指南,详细讲解了如何使用JavaScript库在地图上绘制圆、线、矩形和多边形。内容涵盖从地图初始化、核心API调用(如L.circle、L.polyline、L.rectangle、L.polygon)到样式深度定制与交互事件绑定,并提供了完整的代码示例和常见问题解决方案,帮助开发者快速掌握地理信息可视化核心技能。

weixin_29230773的博客 558

手把手教你搭建三端口DC-DC变换器(含Boost+Buck电路实战)

本文详细介绍了如何从零开始搭建三端口DC-DC变换器,涵盖Boost和Buck电路的硬件设计、元器件选型、电路板布局、焊接技巧、控制系统设计与调试等关键步骤。通过实战案例和优化建议,帮助工程师避开常见陷阱,提升系统效率和稳定性,适用于光伏、储能等电力电子应用场景。

x8y9z0的博客 929

第1章 机器人SLAM算法工程师主要做什么的?(附SLAM学习路线及资料推荐)

对于想从事机器人与自动驾驶领域的在校大学生、研究生来说,建图定位算法工程师是一个极具发展潜力的岗位,而SLAM知识体系则是胜任该岗位的核心支撑。从基础的计算机工具、C++语言,到核心的开源框架、数学知识,再到硬件衔接与项目实践,每一个环节都不可或缺。建议大家结合自身兴趣确定侧重方向(如激光SLAM、融合定位),先通过开源项目建立实践认知,再补全理论知识,同时积极参与社区交流。

行知SLAM 953

百度地图 使用两条平行线表示路线

根据他人的程序修改的,原文是如何利用百度地图JSAPI画带箭头的线? 在此,使用两条平行线表示路线。 1.坐标计算: 2.代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPat...

weixin_30448603的博客 543

1. SAP Business Application Studio 里创建一个基于 CAP 模型的最简单的 OData 服务

本文基于 SAP Cloud Application Programming 编程模型的 OData 服务开发教程的第一步,简述了 SAP Business Technology Platform 里 Business Application Studio 开发工具的打开方式,创建 Dev Space 以及 CAP 项目的创建步骤,以及如何通过 schema.cds 和 service.cds 分别创建 OData 模型和 OData 服务,最后通过 ports preview 打开 OData 服务预览页

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1798

10个Leaflet-plugins实用示例:提升地图应用开发效率

Leaflet-plugins是一套强大的Leaflet地图库扩展插件,提供了丰富的功能模块,帮助开发者快速构建专业级地图应用。本文将通过10个实用示例,展示如何利用这些插件轻松实现各种地图功能,从基础图层加载到高级地理数据可视化,让你的地图应用开发效率提升300%! ## 1. 集成Bing地图图层:实现多风格地图切换 Bing地图提供了多种高质量的地图样式,通过`layer/tile/Bi

gitblog_00068的博客 901

windows搭建IIS(FTP)

适用于参加网络系统管理的学生进行学习与参考

a1119619789的博客 280

1、vectorCast单元测试常用操作

进入软件主页面,点击file,选择set working directory,随便选择一个保存该项目的目录即可。

weixin_59334478的博客 2156

2026年AE新手自学路线图:从核心工作流到实战项目,系统掌握动态图形与视觉特效

动态图形与视觉特效合成是现代数字内容创作的核心技术之一,其本质是基于时间轴和图层关系的非线性编辑与合成。理解其底层原理,关键在于掌握关键帧动画、图层混合与合成嵌套等核心概念,这些构成了软件的工作流基石。从技术价值看,这不仅关乎炫酷效果的实现,更是提升创作效率、实现复杂视觉叙事的基础能力。在应用场景上,无论是影视片头、MG动画、UI动效还是社交媒体视频,都离不开扎实的合成与动画功底。本文聚焦于After Effects(AE)这一行业标准工具,针对新手常见的学习路径混乱与软件本质误解问题,提供了一套结构化的3

weixin_34111790的博客 898

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

图片 映射 经纬度坐标_110KV电力线路KML文件与影像叠加并导出为图片案例

概述水经注软件除了可以下载无水印Google Earth卫星影像、地方高清天地图、百度高德大字体打印地图,按1万/5千等国家标准图幅下载,下载陆地及海洋高程、STRM高程、提取10米等高线等深线、CASS高程点,下载含高度的全国矢量建筑、全国乡镇及街区行政区划、地名点、高速铁路网、公交路线、水系、百度高德POI兴趣点、全球OpenStreet矢量之外,还可以导入KML矢量文件与影像叠加并导出图片。...

weixin_39605345的博客 789

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Unity跨平台PDF生成实战:基于HTML/jsPDF的数据导出方案

在软件开发中,数据导出与报告生成是常见的功能需求,尤其在需要跨平台分发和打印的场景下,PDF因其格式稳定、打印友好的特性成为标准选择。其技术原理通常涉及将结构化数据转换为固定版面的文档格式,这要求开发者处理文本排版、图像嵌入和跨平台兼容性等核心问题。从技术价值看,一套高效的PDF生成方案能显著提升应用的专业性和用户体验,尤其适用于教育软件、企业工具、数字孪生等需要输出报告、日志或配置文档的场景。本文聚焦Unity引擎,针对其原生缺乏PDF支持的问题,深入探讨了基于HTML/CSS渲染与jsPDF库的跨平台解

weixin_34378969的博客 325

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

从旅游规划到项目汇报:手把手教你用Google Earth Pro制作炫酷演示图(Win/Mac通用)

本文详细介绍了如何使用Google Earth Pro制作专业的地理演示图,适用于旅游规划、项目汇报等多种场景。从基础操作到高级技巧,包括创建个性化地标、绘制路线、利用时间轴展示变化等,帮助用户轻松掌握这款强大的可视化工具,提升演示效果。

weixin_29202213的博客 248

NixOS 通过 kexec 无介质“跳转“引导安装指南:从运行中的 Linux 直入 NixOS

本文介绍 NixOS 手册中的 kexec 引导方案([installing-kexec.section.md](https://link.gitcode.com/i/ee6c21c5f07eb5ee7fd4181a16eb9a2a)):当目标机器已运行着另一个 Linux 发行版(例如云厂商预装的 Debian/Ubuntu,而你又无法挂载自定义镜像)时,如何利用 Linux 内核自带的 `ke

gitblog_01080的博客 451
上一篇: HTML中,在画布中画箭头
下一篇: ToolTip插件,鼠标悬停时显示信息
风凌119
博客等级 码龄10年 5粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值